You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何反编译PyInstaller生成的可执行文件以恢复Python源码

从PyInstaller打包的Unix可执行文件提取原始Python代码的方法

可以逆向提取,但还原度受打包配置影响,无法保证100%和原始代码完全一致。

具体操作步骤

  • 第一步:解包可执行文件提取pyc字节码
    你可以使用pyinstxtractor.py工具完成解包,将该工具与目标可执行文件放在同一目录后,执行以下命令:
    python3 pyinstxtractor.py 你的可执行文件名
    执行完成后会生成后缀为_extracted的同名目录,你的原代码对应的.pyc字节码文件就存放在这个目录中。
  • 第二步:反编译pyc文件得到Python源码
    如果打包时没有开启加密,直接使用uncompyle6(适配Python3.6及以下)或decompyle3(适配Python3.7-3.9)工具即可完成反编译,执行命令如下:
    uncompyle6 目标pyc文件名.pyc > 还原后的代码.py

常见限制说明

  • 如果打包时使用了--key参数对字节码进行加密,没有对应的密钥则无法完成解包,也不能提取到有效的pyc文件
  • 还原的代码会丢失所有原始注释、自定义空行与格式排版,如果打包前对代码做了混淆,变量名、函数名也不会恢复为原始命名
  • Python3.10及以上版本新增的语法目前反编译工具支持度有限,部分代码可能会反编译失败或者出现语法错误

提示:你仅可逆向操作自己持有所有权的可执行文件,逆向提取他人所有的打包程序属于侵权行为,可能触犯相关法律规定。

内容的提问来源于stack exchange,提问作者satya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:42:04