使用python打包成的exe文件可以使用反编译的方法获得源码
准备
查看编译信息,注意python版本
exe转pyc
使用工具pyinstxtractor
https://github.com/countercept/python-exe-unpacker/blob/master/pyinstxtractor.py
使用相同版本的python,输入命令python pyinstxtractor.py [filename]
在生成的[filename]_extracted文件夹下找到主程序
可以看到主程序并没有.pyc的扩展名,这是由于反编译出的程序缺少pyc文件头,需要我们自己补上。
可以安装struct的文件头来补。
补充后变为
pyc转py
使用uncompyle6
命令行输入 uncompyle6.exe [源文件] > [目标文件]
如果反编译失败很有可能是文件头没有修改正确,多改几次到正确为止即可。