对py2exe生成的exe文件进行逆向时,通过7Zip解开Exe只能得到Python的类库文件,对于真正需要逆向的代码,要通过unpy2exe这样的工具才能实现。
注意,unpy2exe.py的运行如果没有效果,要调整相关源代码,使其可以真正执行。这应该是我对python工具链不熟悉的原因造成。
网上有人用loadpe工具取出rsrc段,再整理出代码文件,但相关的描述语焉不详。
经过对于uppy2exe解出的pyc文件的16进制对比原文件,发现是<install zipextimporter>之后的第16个字节开始就是pyc文件内容,结束于<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">位置的前5个字节。直接通过hex提取出的文件要补充几个字节:03 F3 0D 0A B8 7F D0 59,分别是:魔法字/回车/时间标签
对于pyc的反编译到py,有一些在线工具可用,但其格式化效果不好;可以考虑下载Easy Python Decompiler来用。