如何将 PYZ.-00.pyz_extracted 文件夹与入口 .py 文件嵌入以生成 exe 文件?

逆向工程 部件 聚乙烯 Python 快手 可执行程序
2021-07-01 21:21:55

我已经使用 pyextractor 脚本反编译了 exe 并生成了这些文件:

PYZ-00.pyz
PYZ-00.pyz_extracted
gui
pyi_rth_tkinter
pyi_rth_multiprocessing
pyi_rth_pkgres
pyi_rth_win32comgenpy
pyiboot01_bootstrap
pyimod01_os_path
pyimod02_archive
pyimod03_importers
struc

我知道 gui 是入口文件。更新 gui 的头文件后,将其反编译为 gui.py 文件。(我的过程类似于这个 https://hshrzd.wordpress.com/2018/01/26/solving-a-pyinstaller-compiled-crackme/

我的问题是如何生成 exe 文件以使其包含 PYZ-00.pyz_extracted 文件夹中的所有文件?

1个回答

您可以使用 pyi-archive_viewer 从 .exe 中提取一些文件,修改它们并放回原处。但请注意,.exe 中的所有文件都是使用 DEFLATE 压缩的(zlib.compress() - 您可以在 PyInstaller 的源代码中查看)。因此,当放回文件时,您需要将文件压缩到准确的大小,即提取文件时的大小。