如何反编译由py2exe编译的exe文件?

时间:2011-06-09 03:55:36

标签: python py2exe decompiler

如何反编译由py2exe编译的exe文件?

只有一个exe文件,没有任何zip文件。

如何反编译为pyc或pyo文件?

4 个答案:

答案 0 :(得分:19)

您可以使用unpy2exe提取.pyc,然后使用pyREtic获取源代码。我想你可以阅读HOWTO并了解如何使用这些程序,但基本上你去了unpy2exe.py的位置并运行:

  

unpy2exe.py [-h] [-o OUTPUT_DIR] [-p PYTHON_VERSION] filename

thene转到REpdb.py的位置并运行:

  

REpdb.py

     

set_project [新项目名称]

选择python版本

  

fs_um_decompile [pyc文件的位置]

源应该在... \ Projects [新项目名称] \ sourcecode \ fs_um \

答案 1 :(得分:8)

另一种方法是直接从内存中获取python字节代码转储,Immunity Inc发布了一篇关于这个主题的论文,其中包含一个从内存中获取字节码并将其反编译为.py源代码的工具包。 pyREtic

答案 2 :(得分:6)

我在C ++中编写了一个小工具,它使用py2exe生成的可执行文件并提取PYTHONSCRIPTLibrary.zipLibrary.zip主要包含pyc / pyo文件,您可以使用任何反编译器对它们进行反编译。

链接:

Py2ExeDumper https://sourceforge.net/projects/py2exedumper/
Easy Python Decompiler http://sourceforge.net/projects/easypythondecompiler/

答案 3 :(得分:1)

使用提供的脚本here。它需要安装原始的py2exe Python模块。此外,您必须确保使用原始用于生成可执行文件的相同Python版本。否则,脚本将为.pyc生成无效的幻数。 稍后您可以使用uncompyle2恢复原始.py源。