How*_*rd 156 python decompiling compiled pyc python-3.x
是否有可能从.py文件生成的.pyc文件中获取一些信息?
Ric*_*Vel 149
Uncompyle6适用于Python 3和2.7 - 推荐选项,因为它是最新的工具,旨在统一早期的分支并专注于自动化测试.
Uncompyle2仅支持Python 2.7.这段时间我很好地将.pyc字节码反编译为.py,而unpyclib则因异常而崩溃.
小智 31
是的,你可以unpyclib在pypi上找到它.
$ pip install unpyclib
Run Code Online (Sandbox Code Playgroud)
你可以反编译你的.pyc文件
$ python -m unpyclib.application -Dq path/to/file.pyc
Run Code Online (Sandbox Code Playgroud)
Ext*_*ers 27
您可以尝试Easy Python Decompiler.它基于Decompyle ++和Uncompyle2.它支持反编译python版本1.0-3.3
注意:我是上述工具的作者.
cri*_*fan 14
是的。
我使用uncompyle6反编译(甚至支持最新的 Python 3.8.0):
uncompyle6 utils.cpython-38.pyc > utils.py
原始 python 和反编译 python 的比较如下所示:

所以你可以看到,几乎一样,反编译效果非常好。
Ken*_*ste 12
Decompyle ++(pycdc)是唯一一个适合我的人:https://github.com/zrax/pycdc
在Decompile Python 2.7 .pyc中提出了建议
小智 6
我已经研究了几个小时,终于使用 Decompyle++ 找到了解决方案:
https://cmake.org/download/并安装 CMake。https://github.com/zrax/pycdc并获取此存储库的副本:pycdc-master。C:\Program Files\CMake\bin到系统环境变量 PATH 下。我建议将您的pycdc-master文件夹放入另一个文件夹中,例如anotherFolder.
现在您可以在命令行中运行这些命令:
cd anotherFolder进入其中的文件夹pycdc-master。cmake pycdc-mastercd ../向上一级目录,cmake --build anotherFolderpycdc.exe然后将在anotherFolder\Debug.
在控制台中执行类似操作pycdc.exe onlyhopeofgettingmycodeback.pyc,它将打印出源代码。我有 Python 3.9.6 源代码,其他都不起作用。