Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)

此文章自己做个学习记录,也希望对跟我有一样困扰的同学一些帮助!

使用到的工具下载链接我都已经附上,点击下面蓝色字体可直接下载:

1.pyinstxtractor.py

2.wxMEDIT

3.在线编译

一、解包

①:如下图,先将pyinstxtractor.py文件和你要反编译的.exe放在一个文件夹中

Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第1张图片

 ②:在文件路径处输入CMD,回车,进入终端界面,然后输入

python pyinstxtractor.py nettest.exe

我的文件命名为nettest.exe,你们根据自己的文件名进行修改

按回车后可在终端界面看到如下图:

Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第2张图片

 ③成功后回到文件夹,可以看到多了一个文件夹

Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第3张图片

④点开这个文件夹,找到main文件,   然后把main这个文件加上.pyc后缀变成main.pyc

(此处我要说明一下,我这边是写python源码的时候命名的main,每个人命名方式不同,你们找到的python源文件不同,可能不是main,找到没有后缀的文件,加上pyc后缀就行)

 Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第4张图片

二、编译

 ①此时,重要的一步来了,这个时候进行编译,应该还不会成功,缺少前面几个字节(叫做 magic number 表示python的版本和编译时间

在这个文件夹中找到一个struct的文件也加上.pyc后缀

Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第5张图片

 把main.pyc和struct.pyc文件拖到wxMedit文件中

Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第6张图片

Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第7张图片

 对比这两个图会发现,main.pyc和struct.pyc的前12个字节不同,把struct.pyc前面12个字节复制到main.pyc中再进在线编译平台进行编译就成功了。

如果不进行这一步更改,直接放到在线编译平台上编译是如下图所示:

Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第8张图片

 把12个字节复制到前面后如下图所示:

Python文件用pyinstaller打包成.exe文件后如何获取Python源码(Python文件反编译)_第9张图片

希望对大家有所帮助! 

你可能感兴趣的:(python,开发语言)