尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

拿到 PyInstaller 打包的程序找不到源码?pyinstxtractor-ng 三步解包指南

拿到 PyInstaller 打包的程序找不到源码?pyinstxtractor-ng 三步解包指南 拿到 PyInstaller 打包的程序找不到源码pyinstxtractor-ng 三步解包指南【免费下载链接】pyinstxtractor-ngPyInstaller Extractor Next Generation项目地址: https://gitcode.com/gh_mirrors/py/pyinstxtractor-ng你从一个同事手里拿到一个 .exe在自己机器上跑不起来想看看里面的代码却发现 PyInstaller 把所有东西都封成了二进制。pyinstxtractor-ng 就是干这个的一条命令把 PyInstaller 打包的可执行文件解包把主程序字节码、内置包和资源全部倒出来而且不需要装与目标相同的 Python 版本。它能做什么不能做什么能做的提取 PyInstaller 可执行文件内部的完整内容Linux ELF 和 Windows PE 两大格式都支持目标文件如果经过加密它会自动尝试解密。相比老版 pyinstxtractor它有个关键升级——用 xdis 库解析字节码所以目标是用 Python 3.9 打包的你本机是 3.11 也照样拆。不能做的它不会直接吐出 .py 源码你拿到的是 .pyc 字节码想再进一步得靠反编译器它也只认 PyInstaller 打包的文件cx_Freeze、PyOxidizer 之类别的打包器产出的可执行文件它一概打不开。pip 装好一条命令完成第一次解包最短路径就三步。先安装pip install pyinstxtractor-ng再把目标文件丢给命令pyinstxtractor-ng target.exe当前目录会多出一个target.exe_extracted文件夹里面就是提取出的字节码和资源。想让结果落在 exe 同目录、方便顺手运行就加--one-dir参数只想看看 PyInstaller 版本、是否加密这类元信息而不落盘任何文件用--info预览一下。不同环境的差异一张表带过环境跑法Windows把 exe 直接拖到工具图标上或同样敲命令Linux同上命令一致没有 Python 环境从发布页下载预编译二进制拿来即用逆向、审计、找回代码三种场景与两个坑三个真实场景各一句话讲清什么时候用它逆向分析拿到一个不透明的小工具想研究逻辑先解包看程序结构安全审计排查一个来路不明的打包程序里有没有硬编码的密钥、可疑的网络地址代码找回原始代码丢了只剩 exe至少能恢复出文件的完整结构和字节码骨架。两个容易踩的坑第一解包结果不等于源码.pyc 只是源代码的近似表示行数和变量细节可能有出入别直接当交付物用第二加密的可执行文件解包后可能出现.encrypted文件那部分数据没解出来判断文件是否齐全时别被它误导。再往前一步浏览器解包与反编译两个顺手的延伸方向pyinstxtractor-web 把解包搬进了浏览器不用装任何环境而解包产出的 .pyc 想变成可读源码可以接着试 uncompyle6、decompyle3 这类反编译工具。参数细节和完整说明看项目里的README.md和核心实现文件pyinstxtractor_ng.py就够了。【免费下载链接】pyinstxtractor-ngPyInstaller Extractor Next Generation项目地址: https://gitcode.com/gh_mirrors/py/pyinstxtractor-ng创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表