python的便利性,使得如今许多软件开发者、黑客都开始使用python打包成exe的方式进行程序的发布,这类exe有个特点,就是可以使用反编译的方法得到程序的源码,是不是很神奇?我们接下来就开始学习如何反编译有python打包成的exe程序吧。PS:下面介绍的是使用比较广泛的pyinstaller的反编译方法。
输入命令:python pyinstxtractor.py [filename]
,即可完成转换。PS:python要使用相对应的版本。
我们需要在该文件起始位置加上8个字节的pyc头,由4字节的magic和4字节的时间戳组成,其中magic会因为python版本的不同而不同,那我们怎么知道是啥呢?有个技巧就是,查看struct文件的magic,直接复制过去。
最后的工作就是将pyc反编译成py了,这里使用uncompyle6,使用命令:pip install uncompyle6
,即可完成安装。然后输入uncompyle6 [filename] > lock.py
,将文件反编译成py。
这里补充一点,有些病毒程序,为了避免被反编译,会进行一些混淆,使得pyinstxtractor转换出错。如下这个文件,使用pyinstxtractor.py进行转换时会报错,“Error : Unsupported pyinstaller version or not a pyinstaller archive
”,意思就是说这不是一个pyinstaller打包的文件。
它就是个py可执行文件呀,怎么会说不是一个pyinstaller打包程序呢?那就从这问题入手呗,看看为什么会出现这个错误。
来到pyinstxtractor代码的第50行,原来代码逻辑是这样的,一旦读取不到MAGIC,就会报错,提示不是pyinstaller打包程序。
到此这篇关于Python可执行文件反编译教程(exe转换py)的文章就介绍到这了,更多相关Python可执行文件反编译内容请搜索本网站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本网站!
您可能感兴趣的文章:
- 如何对Python编译PyInstaller打包生成的exe文件进行反编译生成pyc、py源代码文件
- PyInstaller将Python文件打包为exe后如何反编译(激活成功教程源码)以及防止反编译
- python 反编译exe文件为py文件的实例代码
- hh.exe 隐藏参数 chm反编译命令参数
- exe反编译为.py文件的方法