23

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

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

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

4

4 回答 4

22

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

unpy2exe.py [-h] [-o OUTPUT_DIR] [-p PYTHON_VERSION] 文件名

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

REpdb.py

set_project [新项目名称]

选择python版本

fs_um_decompile [pyc 文件的位置]

源代码应位于 ...\Projects[新项目名称]\sourcecode\fs_um\

于 2013-11-16T12:35:01.537 回答
8

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

于 2011-06-13T15:06:59.597 回答
7

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

链接:

Py2ExeDumperhttps
://sourceforge.net/projects/py2exedumper/简易 Python 反编译器:http : //sourceforge.net/projects/easypythondecompiler/

于 2014-03-01T15:10:19.477 回答
1

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

于 2012-12-21T13:55:36.883 回答