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

如何从cx_Freeze打包的.exe文件中恢复丢失的Python脚本?

从cx_Freeze打包的exe中恢复Python脚本方案

能恢复,但恢复后的代码会丢失原脚本的注释、空白格式等非功能性内容,核心逻辑、变量名和代码结构会完整保留——因为cx_Freeze打包时会把原Python脚本编译成.pyc字节码文件,存放在exe解压后的lib目录中,我们只需反编译这些.pyc文件即可。

具体步骤

1. 提取lib目录中的.pyc文件

  • 若你的exe是单文件打包:用7-Zip等压缩工具直接打开exe,将内部所有文件提取到本地文件夹,找到其中的lib目录。
  • 若你的exe是多文件打包:直接找到exe所在目录下的lib文件夹。
  • 在lib目录里寻找和原脚本同名的.pyc文件,入口脚本通常对应__main__.pyc;部分文件可能存放在__pycache__子文件夹中。

2. 反编译.pyc文件

工具一:uncompyle6(适配Python 2.7~3.8)

  • 安装工具:pip install uncompyle6
  • 执行反编译命令,将pyc转为py文件:
    uncompyle6 target_script.pyc > recovered_script.py
    

工具二:decompyle3(适配Python 3.7+)

  • 安装工具:pip install decompyle3
  • 执行反编译命令:
    decompyle3 target_script.pyc > recovered_script.py
    

3. 修复与验证

  • 反编译后的代码可能存在少量缩进、换行错误,或是特殊语法还原偏差,需要手动调整。
  • 运行恢复后的.py脚本,对比原exe的功能,确认逻辑一致即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 04:45:59