python打包的exe解包为.py文件

使用的工具:

pyinstxtractor.py 解压工具(将exe文件解压为一个文件夹)

python包:uncompyle6,pyc反编译工具包

winhex或010Editor等其他二进制查看修改工具

0x00 工具安装

uncompyle6安装:

方法一:

pip安装

pip3 install uncompyle6

方法二:

使用pycharm安装,在pycharm的设置里依次点击 python解释器 —> '+'

在搜索框内填入要安装的包后点击安装即可

pyinstxtractor.py工具获取:

在网页:https://sourceforge.net/projects/pyinstallerextractor/中下载获取

winhex工具下载

链接:https://pan.baidu.com/s/15xVANHw6zwS89YCXcDHoEg 
提取码:7whk

0x01 exe包解压

首先使用pyinstxtractor.py进行拆包

python3 pyinstxtractor.py 要拆包的文件名

执行完后会出现一个 原文件名+_extracted的文件夹,

0x02 复原头文件

在新生成的文件夹中存在exe文件同名且无后缀的文件与struct,用winhex打开两个文件

将struct文件开头的16个字节(也有说是8个字节,反正将文本为pyi0的部分都恢复回去QAQ)复制粘贴到无后缀的文件头中

修改后保存,将无后缀的文件添加上.pyc的后缀

0x03 逆向.pyc文件

使用uncompyle包进行逆向

uncompyle6 文件名.pyc > 文件名.py

拆包完成,可以打开.py文件查看代码辣!