2011-06-09 91 views
19

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

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

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

+4

你为什么希望能够做到这一点? – 2011-06-09 04:07:28

+2

如果没有'library' zip档案,你可以做的很少。 – 2011-06-09 04:32:03

+1

据我所知,一个exe文件是封装类型,因为我的Linux包管理器打开它们。 – motoku 2011-06-09 05:05:14

回答

7

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

1

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

18

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

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

thene去REpdb.py的位置和运行:

REpdb.py

set_project [新项目名称]

选择Python版本

fs_um_decompile [PYC文件的位置]

来源应该是... \项目[新项目名称] \源代码\ fs_um \