最近写了一些逆向相关的文章:
有手就会,小白也可以轻松破解Electron生成的exe文件,获取源代码!
小伙伴们反响很不错,都在摩拳擦掌,准备成为逆向大神!
也有一些小伙伴想了解下python的反编译:


作为生在新中国、长在红旗下的社会主义接班人,小编看了下胸前鲜艳的红领巾,心中只有一个念头:群众有需求,必须马上安排!
这里我们反编译的目标是一个小编自己写的注册系统,如下:

是一个使用pyinstaller打包的exe文件:

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

这里可以清楚的看到,这个exe是使用python开发的,打包工具是pyinstaller,接下来我们直接反编译。
2.反编译python打包的exe
首先,我们要确认的是python的版本,因为不同python版本编写的代码会有一些差异。
我们使用pyinstxtractor,他虽然只是一个python文件,但是功能强大,主要是用于反编译pyinstaller打包的exe,他是一个开源项目,地址是:
https://github.com/extremecoders-re/pyinstxtractor。
我们把他下载下来,并在控制台执行指令 python .\pyinstxtractor.py 登录注册系统.exe :

可以看到使用的python是3.11,入口文件是login.pyc。
小伙伴们如果你那里显示的python是什么版本,就要安装一个相同的版本。
然后他会在你执行指令的目录下生成一个相应的extracted文件夹,我这里是这样的:

这些pyc文件,就是我们的目标了。
接下来我们打开在线解析pyc的网站:https://pylingual.io,上传你要解析的pyc文件(我这里是login.pyc):

等待解析完成:

解析结果如下:

可以看到,已经显示了这些代码的详情。如果有其他的pyc文件,同样解析就好了。
好了,至此我们就获取到了相应的源代码,后续的修改就需要一些专业的IT知识了,我们这里只是给小伙伴们科普下IT知识,让大家有个基础的了解。
当然,pylingual也是一个开源的项目,你可以把它下载到本地来解析pyc文件,有兴趣的小伙伴们可以去:https://github.com/syssec-utd/pylingual 了解一下。
修改并重新打包成新的exe涉及到的技术就比较复杂一些,对IT小白不太友好,就暂时没写了。
如果小伙伴们想进一步了解怎么修改这个文件并重新打包生成新的exe,可以在留言区讨论一下,需求多的话,小编可以再写一下。
另外我们这里只是简单的演示,真实的软件远远比这个复杂,反编译技术也更成熟,破解难度也很大,需要更专业的知识。
有兴趣的小伙伴们可以去 看雪(https://bbs.kanxue.com/) 深入研究一下哈。
最后,小编把文章中涉及到的所有软件都准备好了,小伙伴们可以在公众号私信 python反编译 ,即可获取!
有兴趣的小伙伴们赶紧去试一试吧!



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