如何从原始反编译的 exe 创建可执行文件(创建构建)?

逆向工程 Python 可执行程序
2021-06-19 21:16:28

我使用 pyinstxtractor.py 脚本反向工程了 exe 文件。PYZ 存档中有大约 1120 个文件。

F:\Python Test>python pyinstxtractor.py test.exe
[*] Processing test.exe
[*] Pyinstaller version: 2.1+
[*] Python version: 27
[*] Length of package: 4992914 bytes
[*] Found 11 files in CArchive
[*] Beginning extraction...please standby
[+] Possible entry point: pyiboot01_bootstrap
[+] Possible entry point: pyi_rth_multiprocessing
[+] Possible entry point: pyi_rth_pkgres
[+] Possible entry point: pyi_rth_win32comgenpy
[+] Possible entry point: pyi_rth__tkinter
[+] Possible entry point: gui
[*] Found 1120 files in PYZ archive
[*] Successfully extracted pyinstaller archive: test.exe

我找到了 gui 文件的入口点,并在十六进制编辑器中更新头字节后将该文件反编译为源代码。

现在我的问题是当我尝试使用此命令重新打包时

pyinstaller gui.py 

,生成的 exe 在其 PYZ 存档中没有那 1120 个文件(因为我再次提取了最终 exe 文件的内容)。我怎样才能将该 PYZ 文件夹嵌入到这个 exe 中?

1个回答

您不能简单地制作 pyinstaller gui.py。您应该解决所有依赖项:或使用 pip 安装包,或从提取的 PYZ 存档文件夹中提取它们。在 PYZ 文件夹中,您可以找到所有文件,但您需要将其重命名并重新排列为模块。