python可执行文件与pyc_pyo字节码反编译源代码
现在有更好的解决方案
1 | pip install pydumpck |
可执行文件反编译脚本:
1 | $ python decompy.py 可执行文件 |
得到的PYZ-00.pyz_extracted文件夹包含而三方库
找dll文件确定python版本,用相应版本编译一个pyc或pyo文件,复制前8个字符的文件头,插入到py没有后缀的文件前,添加后缀pyc或pyo,再使用uncompyly6反编译py源代码。
uncompyly6支持1.3至3.9版本的反编译,安装方法:
1 | $ pip install uncompyly6 |
(事实上,pip install uncompyle2 也会跳到安装uncompyle6)
使用
-o outfile必须先写,例如有一个pcat.pyc,想反编译输出文件为pcat.py:
1 | $ uncompyle6 -o pcat.py pcat.pyc |
或使用在线工具: