Экстрактор Pyinstaller - это сценарий Python для извлечения содержимого исполняемого файла Pyinstaller.
Заголовок файлов PYC автоматически фиксируется так, чтобы декомпилятор Python Bytecode распознает его. Сценарий может работать на Python 2.x и 3.x. Версии Pyinstaller 2.0, 2.1, 3.0, 3,1, 3,2, 3,3, 3,4, 3,5, 3,6, 4,0, 4,1, 4,2, 4,3, 4,4, 4,5, 4,5,1, 4,6, 4,7, 4,8, 4,9, 4,10, 5,0, 5,0,1, 5,1, 5,2, 5,3, 5,4, 5,4,4, 5,5, 5,5,6, 5,6, 5,6, 5,6, 5,6, 5,6, 5,6, 5.8.0, 5.9.0, 5.10.0, 5.10.1, 5.11.0, 5.12.0, 5.13.0, 5.13.1, 5.13.2, 6.0.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 6.5.0, 6.6.0, 6.7.0, 6.8.0, 6.9.0, 6.10.0, 6.11.0, 6.11.1. Вероятно, будет работать с другими версиями.
Этот проект был первоначально размещен в Sourceforge.
Сценарий может быть запущен, передавая имя EXE в качестве аргумента.
$ python pyinstxtractor.py <filename>
X:>python pyinstxtractor.py <filename>
Рекомендуется запустить сценарий в той же версии Python, которая использовалась для генерации исполняемого файла. Это для предотвращения ошибочных ошибок (если есть) при извлечении архива PYZ.
X:> python pyinstxtractor.py test.exe
[+] Processing disttest.exe
[+] Pyinstaller version: 2.1+
[+] Python version: 36
[+] Length of package: 5612452 bytes
[+] Found 59 files in CArchive
[+] Beginning extraction...please standby
[+] Possible entry point: pyiboot01_bootstrap.pyc
[+] Possible entry point: test.pyc
[+] Found 133 files in PYZ archive
[+] Successfully extracted pyinstaller archive: disttest.exe
You can now use a python decompiler on the pyc files within the extracted directory
После извлечения Pyc's вы можете использовать декомпилятор Python, например, Endpyle6 и Decompyle ++.
X:> uncompyle6.exe test.exe_extractedtest.pyc
X:> uncompyle6.exe test.exe_extractedPYZ-00.pyz_extracted__future__.pyc
Pyinstxtractor может изначально извлекать двоичные файлы Linux Elf, не требуя других инструментов.
Для других вопросов и информации см. Вики и FAQ
GNU General Public License v3.0