题目下载链接:题目
参考:NSSCTF_Re_[NISACTF 2022]ezpytho - Luccky - 博客园 (cnblogs.com)
Pyinstller打包的exe文件反编译_qq_41172258的博客-CSDN博客_exe文件反编译
用IDA打开,发现和平常有点不一样,在看题目提示,为pyexe逆向,经过查阅资料可以知道,这个exe可执行程序是由Pyinstller打包成的exe,本质上是个.py文件,所以进行反编译。
把本题目的exe可执行程序与你下载的pyinstxtractor.py放在同一个目录下,然后
输入命令,进行反编译成.pyc
生成然后进入,发现src.py和struct.py
然后经过上面的参考资料知道:由于用PyInstaller打包后,src.pyc文件的前8个字节会被抹掉,所以最后要自己添加回去。(前四个字节为python编译的版本,后四个字节为时间戳。四个字节的magic number、四个字节的timestamp,)所以通过十六进制编辑器把struct.pyc的e3前面的数据复制到相应的src.py中
然后把src.pyc编译成.py
打开src.py可看见源代码: 发现一个类似flag的东西,发现他不是正确的,所以可能是假的,既然else语句不行,所以就只能分析if语句,易获得 decrypt2('AAAAAAAAAAAfFwwRSAIWWQ==', key)的值为 “this is true key”
然后在执行(key6为this is true key)