【干货】Python文件打包 && .exe文件反编译

本文详细介绍了如何使用pyinstaller将Python文件打包成.exe可执行文件,包括可能出现的问题及解决方法,如更换国内源。同时,也讲解了如何通过pyinstxtractor.py和uncompyle6等工具将.exe反编译回.py源代码,涉及反编译步骤和文件处理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Python文件 打包 成 .exe 可执行文件

第一步:安装pyinstaller

首先安装pyinstall,使用命令:pip3 install pyinstaller,当然有可能报错,如下图:

在大量访问网页时,有可能出现这种报错,是由于频繁访问网站或发出请求造成的。往往网络太卡,例如:下载速度几kb每秒,太慢了,恰好下载的文件又太大就很容易出现这种情况。

报错了!!!

这个时候,我们可以 更换国内源 进行安装,使用命令

// 安装 pyinstaller
pip install pyinstaller -i http://pypi.douban.com/simple --trusted-host=pypi.douban.com

安装成功 如下图所示:

安装成功!!!

第二步:pyinstaller 打包 .exe

1、首先,cmd 进入要打包的 .py 文件所在目录,使用命令:pyinstaller -F 文件名.py 如果想自定义图标,可以使用命令:pyinstaller -F -i 图标名.ico 文件名.py

文件夹
打包代码!!!
成功!!!
2、打包完成,会出现 successfully 标志,接着会生成一个目录结构,需要的 .exe 文件,就在 dist 文件夹中,如下图所示:

dist
demo

接下来,双击运行就可以了!



二、将.exe可执行文件 反编译 成 .py文件

第一步:准备需要的软件

1、下载 pyinstxtractor.py 反编译项目。
2、下载 wxMEdit 16进制编辑器
3、安装 uncompyle 支持包,安装命令 pip install uncompyle6

成功!!

第二步:进行 反编译

1、将下载好的 pyinstxtractor.py 文件 和要进行反编译的 .exe 文件 放在同一文件夹下,如下图:

反编译

2、直接 CMD 进入该路径,然后输入 python pyinstxtractor.py 文件名.exe 如下图:

python pyinstxtractor.py 文件名.exe

执行完成后,该文件夹下会出现 文件名.exe_extracted 文件夹:

文件名.exe_extracted

3、打开文件名.exe_extracted 文件夹,找到 struct 文件,以及 文件名 同名文件(本例文件名为 demo )。

.exe_extracted
之后用下载好的 wxmedit 软件打开它们,可能会出现两种情况

  • 情况一struct 文件中, E3有内容
    struct
    demo

这种情况直接复制 struct 文件中,E3 之前的 所有内容,到 demo 文件 E3 之前(鼠标放到 E3 之前再粘贴),然后 保存文件

完成

  • 情况二struct 文件中, E3无内容
    无struct

这个时候需要使用 wxmedit 软件 打开 PYZ-00.pyz_extracted 文件夹中任意一个 .pyc 文件:

PYZ-00.pyz_extracted
.pyc

记住文件中 前 4 个值,动手在 demo 文件中 E3 之前添加这些内容,第一行 剩余位置全部补 “00” (共 12“00”):

前 4
完成

最终结果如上图所示,完成后 保存文件

4、将 demo 文件复制到上级目录,并更改后缀名为 .pyc ,得到demo.pyc 文件:
demo.pyc

5、直接 CMD 进入demo.pyc 文件路径,然后输入 uncompyle6 文件名.pyc > 文件名.py ,然后回车,如下图:

uncompyle6

未报错,则 反编译 成功,得到 源代码

demo.py
demo.py

第一篇文章,完结撒花~~

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值