攻防世界 逆向 666

攻防世界 逆向 666

(原创)
原题如下:
攻防世界 逆向 666
下载附件解压:
攻防世界 逆向 666
查看16进制的头文件,7F 45 4C 46,我不认识是啥文件,百度一下。
攻防世界 逆向 666
原来是一个可执行的文件。
(文件类型,16进制的文件头,以及Ascii数字信息,如下部分表)
攻防世界 逆向 666
我们用IDA打开找到main函数查看伪代码。
其中有一个encode的函数。
攻防世界 逆向 666
我们再查看一下encode函数的伪代码。看懂代码之后就会发现了线索了。
攻防世界 逆向 666
下面是python写出脚本。
enflag=[105, 122, 119, 104, 114, 111, 122, 34, 34, 119,
34, 118, 46, 75, 34, 46, 78, 105, 0]
flag=’’
for i in range(0,18,3):
flag+=chr((18^enflag[i])-6)
flag+=chr((18^enflag[i+1])+6)
flag+=chr(18enflag[i+2]6)
print(flag)
运行即可。
最终得到flag:unctf{b66_6b6_66b}