1.丢入IDA分析
定位到关键函数DialogFunc,可以发现在这里对输入的密码进行判断并弹窗,这里首先判断输入长度是否为18,发现关键代码sub_401010对于输入参数内容进行比较
2.进入sub_401010
很简单的一个异或操作,对于每个字节都与0xCC进行异或,并于data段404000地址的数据进行比较,双击word_404000函数跟踪分析
这里便存储着相应数据
以十六进制显示内存数据
bingo,这就是我们的目标数字
3.poc
可以开始编写我们的脚本了
result = [0xFD,0x93,0xA8,0x83,0x93,0xA2,0xFC,0xB8,0x93,0xBB,0x8D,0xA2,0xA2,0xAD,0x93,0xAF,0xBE,0xB5]
print(result)
plain = ""
for index,item in enumerate(result):
plain += chr((item ^ 0xCC) )
print(plain)
网友评论