PyInstaller Extractor安装和使用方法
PyInstaller Extractor是可以提取出PyInstaller所创建的windows可执行文件的资源内容。
关于PyInstaller的介绍:PyInstaller安装使用方法
使用PyInstaller所制作的exe的默认图标如下:
或者使用strings
输出exe中的字符串,在其中可以看到大量的PyImport_
字符串
0x01 安装
项目地址:https://sourceforge.net/projects/pyinstallerextractor/
进入后点击“Download”下载pyinstxtractor.py,即可。
github地址:https://github.com/extremecoders-re/pyinstxtractor
0x02 使用方法
把pyinstxtractor.py和exe文件放在同个目录下
python pyinstxtractor.py xx.exe
运行后生成xx.exe_extracted文件夹,进去后是各种文件,
主要看一些无后缀文件,例如xx文件,其实是少了pyc头的pyc文件
补全好对应版本的pyc头,加到xx文件的前面,保存后把xx文件重命名为xx.pyc
(新版本的PyInstaller Extractor自动补充好pyc头,并重命名好文件)
之后就可以尝试用uncompyle6来对pyc文件进行反编译。
0x03 python各版本对应的magic头(小端序)
https://github.com/zrax/pycdc/blob/master/PythonBytecode.txt
Python 2.7|03f30d0a 00000000
Python 3.0|3b0c0d0a 00000000
Python 3.1|4f0c0d0a 00000000
Python 3.2|6c0c0d0a 00000000
Python 3.3|9e0c0d0a 00000000 00000000
Python 3.4|ee0c0d0a 00000000 00000000
Python 3.5|170d0d0a 00000000 00000000
Python 3.6|330d0d0a 00000000 00000000
Python 3.7|420d0d0a 00000000 00000000 00000000
Python 3.8|550d0d0a 00000000 00000000 00000000
Python 3.9|610d0d0a 00000000 00000000 00000000
Python 3.10|6f0d0d0a 00000000 00000000 00000000