Как декомпилировать exe файл, скомпилированный py2exe?
Как декомпилировать exe файл, скомпилированный py2exe?
только один файл exe, у него не было zip файла.
как декомпилировать файл pyc или pyo?
Ответы
Ответ 1
Вы можете использовать unpy2exe, чтобы извлечь .pyc, а затем использовать pyREtic, чтобы получить исходный код. Я думаю, вы можете прочитать HOWTO и понять, как использовать эти программы, но в основном вы переходите к расположению unpy2exe.py и запускаете:
unpy2exe.py [-h] [-o OUTPUT_DIR] [-p PYTHON_VERSION] имя_файла
Затем перейдите в местоположение REpdb.py и запустите:
REpdb.py
set_project [имя нового проекта]
Выберите версию python
fs_um_decompile [местоположение файла pyc]
Источник должен быть в... \Projects [имя нового проекта]\sourcecode\fs_um\
Ответ 2
Другим подходом является получение дампа байтового байта python непосредственно из памяти, Immunity Inc опубликовала статью об этом предмете с помощью инструментария, который берет байт-код из памяти и декомпилирует его в .py исходный код.
pyREtic
Ответ 3
Я написал небольшой инструмент в С++, который использует исполняемый файл py2exe и извлекает PYTHONSCRIPT
и Library.zip
. Library.zip
содержит в основном файлы pyc/pyo, вы можете декомпилировать их с помощью любого декомпилятора.
Ссылки:
Py2ExeDumper: https://sourceforge.net/projects/py2exedumper/
Декомпилятор Easy Python: http://sourceforge.net/projects/easypythondecompiler/
Ответ 4
Используйте script при условии здесь. Для этого необходимо установить оригинальный модуль py2exe Python. Также вы должны убедиться, что используете ту же оригинальную версию Python, которая используется для создания исполняемого файла. В противном случае script произведет неверное магическое число для .pyc.
Позже вы можете использовать uncompyle2 для восстановления исходного источника .py.