1. Попробуем извлечь кодовые объекты Python-а из исполняемого exe - файла,
созданного программой – конвертером py2exe. Необходимые файлы,утилиты и результаты работы
скачать можно – здесь: Exe2Pyc.rar
2. Для экспериментов возьмем программы, конвертированные программой – конвертером py2exe.
-- Пишем игру Реверси на Python + PyQt4
-- Питон. Py2exe - конвертер в exe файлы 02
-- Книга перемен
-- Программа Диспетчер ЖКХ (только исполняемый файл).
Все файлы находятся в каталоге Exe2Pyc\FilesForExtract архивного файла Exe2Pyc.rar
3. Версия Питона видна из версии библиотеки dll - pythonXX.dll, где XX
–версия Python-а. Если есть только исполняемый файл, то версию можно посмотреть
из содержимого исполняемого файла, например программой Total Commander 8.0 :
Поиск названия библиотеки Python24.dll |
4. Если посмотреть исполняемые файлы программой Редактор ресурсов Restorator,то мы увидим общее в ресурсах – ресурс PYTHONSCRIPT. В нем и находится кодовый объект программы на Pythone:
Ресурсы исполняемых файлов |
5. Название ресурса можно найти и в коде скрипта build_exe.py
программного комплекта py2exe. Там же и формат заголовка PYTHONSCRIPT
6. Утилиту для извлечения кодовых объектов Python-a из исполняемых файлов
скачать можно здесь: http://code.google.com/p/py2exe-extract/ . Утилита в каталоге Exe2Pyc\py2exe_extract-from-internet
7. Эта утилита содержала некоторые ошибки, которые не позволяли извлекать из
всех файлов. Подкорректированная утилита находится в каталоге
Exe2Pyc\py2exe_extract. Работает с версиями Питона 2.5 и 2.6
8. Извлеченные кодовые объекты при помощи утилиты py2exe_extract находятся в
каталоге Exe2Pyc\Decompile-py2exe_extract .
9. Есть еще одна утилита для извлечения кодовых объектов - http://pastebin.com/4meXNirY (утилита в
каталоге Exe2Pyc\Exe2Py) . Работает с версиями Питона 2.4 , 2.5 и 2. 6
(наверно и с другими, не проверял)
Для ее работы необходимо установить модуль для расширений Windows Pywin32 –
Питон. Pywin32 - модуль для расширений Windows
10. Извлеченные кодовые объекты при помощи утилиты exe2py.py находятся в
каталоге Exe2Pyc\Decompile-Exe2Py
11. Продолжение декомпиляции до исходников *py в посте Питон. Декомпиляция py2exe файлов 2
Посты по теме :
Комментариев нет:
Отправить комментарий