
之前我们写了基础的python反编译(有手就会,小白也可以轻松破解Python打包的exe文件,获取源代码(基础版)!),得到了很多小伙伴们的喜欢,但是比较基础,对于大型python项目可能不适用。
如果之前写的属于“黄阶功法”,那这次我们就分享一个“玄阶功法”:直接修改exe一些文件并重新打包成exe!
这其实相当于打补丁了啊,不然还需要把所有的pyc反编译后一起打包,不知道会不会出问题。
这里我们仍然使用小编自己写的注册系统为示例,如下:

是一个使用pyinstaller打包的exe文件,打包指令是 pyinstaller -F -w .\login.py:

下面正式开始哈,本文用极简的语言给大家展示python打包的exe解包和重新打包,无晦涩难懂的专业名词,IT小白也可以放心享用。
逆向或者IT大神请轻喷,只是给大家科普下IT知识,揭开IT的神秘面纱。
文章中涉及到的所有软件都准备好了,小伙伴们可以在公众号私信 python反编译 ,即可获取!
话不多说,下面我们直接开始。
1.验证exe语言类型和python版本
作为对IT小白友好的文章,这里正常走一下流程,主要是给没看过之前的文章的小伙伴们准备的。
DIE:没错,还是我!

这里可以清楚的看到,这个exe是使用python开发的,打包工具是pyinstaller,接下来我们看下python的版本。
你电脑上安装的版本要和这个一致,因为我们这里涉及到编辑了,不同python版本编写的代码会有一些差异。
我们使用pyinstxtractor,他虽然只是一个python文件,但是功能强大,主要是用于反编译pyinstaller打包的exe,他是一个开源项目,地址是:
https://github.com/extremecoders-re/pyinstxtractor。
我们把他下载下来,并在控制台执行指令 python .\pyinstxtractor.py login.exe :

可以看到使用的python是3.11,入口文件是login.pyc。
小伙伴们如果你那里显示的python是什么版本,就要安装一个相同的版本。
使用指令:python --version 查看你电脑上的python版本,我这里和exe文件一致:

2.解包和获取要修改的文件
和上一篇文章不同,我们这里要使用另外一个工具:Pyinstaller Repacker。
他是一个解析和重打包python生成的exe的开源软件,地址是:https://github.com/pyinstxtractor/pyinstaller-repacker ,有兴趣的小伙伴们可以去看下。
使用这个软件需要先安装两个依赖,命令是:
pip install lxmlpip install lief小编这里安装效果如下:

然后执行指令:
python pyinst-repacker.py extract login.exe
可以看到在files文件夹里面有login.pyc,然后我们去我们打开在线解析pyc的网站:https://pylingual.io,上传你要解析的pyc文件(我这里是login.pyc):

等待解析完成:

解析结果如下:

接着我们点击右上角蓝色下载按钮,把它下载下来:

3.编辑和重打包为exe
打开我们下载下来的文件,我们只修改下标题啥的,改为青衫注册系统:

然后执行指令:python -m py_compile .\login.pyc_Decompiled.py
会在当前目录下生成一个__pycache__文件夹,然后有编译后的文件:

我们把login.pyc_Decompiled.cpython-311.pyc修改为login.pyc,然后去login.exe-repacker/files替换一下:

再重新打包一下:
python .\pyinst-repacker.py build login.exe-repacker

打包完成后会生成一个新的exe文件:

我们双击打开这个login-repacked.exe:

可以看到已经生效了!
至此,重新打包就完成了。
这一篇文章相对之前的来说又增加了一些难度,如果有问题的小伙伴们可以留言,我们一起探讨下。
另外我们这里只是简单的演示,真实的软件远远比这个复杂,反编译技术也更成熟,破解难度也很大,需要更专业的知识。
最后,小编把文章中涉及到的所有软件都准备好了,小伙伴们可以在公众号私信 python反编译 ,即可获取!
有兴趣的小伙伴们赶紧去试一试吧!



文中内容仅供娱乐参考,相关软件不得用于非法用途,若不当使用产生的任何后果,与本公众号无关。