观察:
1.首先在IDA中找到main函数:
首先输入字符串s,接着把字符串s作为随机数的种子。
调用sub_400796函数和sub_400937函数。
由于s未知,所以需要猜测s的哪部分作为随机数的种子。
2.观察sub_400796函数:
该函数主要分为两部分,第一部分是对byte_6010C0进行赋值:
第二部分是利用byte_6010C0和byte_601070以及a1原来的值,求得a1第一次加密后的值:
所以,如果要求解a1原来的值,需要已知:
byte_6010C0(已知)、byte_601070(已知)、a1第一次加密后的值(未知,需要解密下一个函数才能得到)。