有人建议(非商业)软件反编译“字节码”Python(.pyc)文件吗?
我发现的一切似乎都坏了......
有人建议(非商业)软件反编译“字节码”Python(.pyc)文件吗?
我发现的一切似乎都坏了......
您正在反编译的 Python 版本是什么?Py3k 没有得到很好的支持,但是 2.x 有相当多的反编译器。最新的项目之一是这样的:
https://github.com/Mysterie/uncompyle2
它在 Python 2.7 上运行,但支持将 2.5 反编译为 2.7。
请注意,已知一些商业项目使用修改后的 Python 解释器。修改可以包括:
如果您需要处理这个问题,一种方法是将非标准字节码转换为标准字节码,然后使用通常的反编译器(这显然是上面项目中的人用来反编译 Dropbox 代码的)。另一种是更改反编译器以直接支持变体。
您可能会发现来自Immunity 的pyREtic很有用。从演示文稿中的BlackHat USA 2010年退热是在这里(YouTube)的。
热解
逆向工程混淆 Python 字节码 该工具包允许您将内存中的对象带回源代码,而无需直接访问磁盘上的字节码。如果磁盘上的应用程序 pyc 以多种方式之一进行了混淆,这会很有用。
我当然使用uncompyle6。免责声明:我从事这个项目。
我在此处详细介绍了 uncompyle6 和 pycdc 。
对于初始和粗略的 Python 字节码反汇编,我将使用 Python 标准库dis
模块:https : //docs.python.org/2/library/dis.html