简述
- 使用
pyinstxtractor解压exe,提取pyc文件。 - 使用
uncompyle6反编译pyc文件。
1 提取pyc
下载 pyinstxtractor.
执行命令 python3 pyinstxtractor.py main.exe
这样就会生成 main.exe_extracted 文件夹
注意这两个文件夹
main.pyc: pyc文件,下一步就要去反编译它PYZ-00.pyz_extracted: 如果有引用其他模块,那么对应的pyc文件就全在这个文件下了。但是有一种情况,有引用其他模块,但是这个文件是空的。 最后会单独说。
2 反编译 pyc 文件
pip3 install uncompyle6
uncompyle6 -o . *.pyc
3 PYZ-00.pyz_extracted 是空目录的情况
现在去 PYZ-00.pyz_extracted 目录下,发现文件是空的。分模块写的代码没了。问题应该是python的版本问题。
现在我们回到开始,看提取pyc的步骤。
这里列出来的 python 3.8,应该是打包的版本,而我的python版本是3.10
现在我们使用 3.8 重新提取 pyc 就可以了。