Re4newer

解题思路:

Step1:die打开,发现有upx壳。

Step2:脱壳,执行upx -d 文件名即可。


Step3:IDA打开,shift+F12看字符串。

点进去,F5看伪代码如图。

Step4:逆算法。点进sub_401080可以看到关键函数的算法。

是简单的取字节异或,比较对象是v4-v14的值。

可以看到,这里可以分成44个两位16进制的数,并且顺序与箭头所指的数的大小有关。

Step4:得到flag。

pyhon脚本如下:

a = [0x45,0x43,0x4E,0x44,

0x13,0x4A,0x76,0x59,

0x71,0x4B,0x7D,0x51,

0x54,0x7D,0x63,0x7D,

0x7D,0x5B,0x50,0x11,

0x52,0x4F,0x4B,0x51,

0x70,0x7D,0x47,0x4E,

0x67,0x67,0x70,0x70,

0x7D,0x57,0x7D,0x67,

0x71,0x51,0x63,0x52,

0x5F,0x56,0x13,0x7D]

flag = ''

for i in range(11):

for j in [3,2,1,0]: 

       flag += chr( a[i*4+j]^0x22)

print(flag)

本文章首发在 网安wangan.com 网站上。

上一篇 下一篇
讨论数量: 0
只看当前版本


暂无话题~