一,查壳

无壳64位ELF文件
二,分析程序
ida载入程序,发现函数检测不出,我们使用快捷U,C,P程序定义一下函数,并把花指令出nop掉,然后使用IDA,动态调试:
在关键处下断点

输入位置,再下面有一个判断,输入的长度是否为0x10,转为十进制就是16

下面继续F8紧接着就到达了关键处

但需要注意的是下面有俩次比较的值并不等于0x9B


总共16位,比较了8次,使用python处理一下,脚本如下

查看代码
查看代码 T1 = [0x45,0x5A,0x39,0x64,0x6D,0x71,0x34,0x63]
T2 = [0x9B,0x9B,0x9B,0x9B,0xB4,0xAA,0x9B,0x9B]
T3 = ‘’
T4 = ‘’
for i in range(len(T1)):
T3 += chr(T2[i]-T1[i])
T4+=chr(T1[i])
print(T4+T3[::-1])

