查壳,nSpack壳,直接用软件脱壳,IDA载入程序。
很明显,就是将402130的数据和输入的数据进行异或,判断是否等于402150处的数据。dwrd占4字节。
这道题主要记录一下刚学到的,直接在IDA使用python脚本。
from ida_bytes import get_bytes s = ''
data = get_bytes(0x402130, 0x402140-0x402130)
r = get_bytes(0x402150, 0x402200-0x402150)
print(len(r))
for i in range(int((len(r))/4)):
s += chr(ord(data[i % 16]) ^ ord(r[i * 4]))
print(s)
将代码粘贴到此处,回车运行即可。IDA好强大,自己好菜,只会F5。
今天要补作业,没学啥,课是真的多。。。。
坚持学习逆向。
夜影大佬是我的楷模。