Программы для декомпиляции скриптов Python

Модератор: fraddy_rad

Аватара пользователя
fraddy_rad
Сообщения: 1332
Зарегистрирован: 18 янв 2015, 18:32
Откуда: Sailent Hill
Контактная информация:

Программы для декомпиляции скриптов Python

Сообщение fraddy_rad » 04 авг 2019, 08:34

Изображение
Программы для декомпиляции скриптов Python

Python - это один из наиболее популярных современных языков программирования. Его поддерживают в качестве скриптового языка различные программы, на нем написано огромное количество различных модулей, плагинов и тому подобное. Исходные тексты на Python можно компилировать в файлы с расширением .pyc, после компиляции они превращаются в нечитаемые бинарные данные. Это далеко не текстовый файл, поэтому, чтобы внести изменения или изучить алгоритм работы такого скрипта, потребуется привести его к исходному виду, то есть декомпилировать. Как ни странно, при всей популярности языка Python, инструментов для реверсинга .pyc-файлов создано не так уж и много.

Все декомпиляторы для Python, которые я встречал, написаны на нем же самом. С одной стороны, это облегчает понимание их работы, дает возможность доработки. Но с другой стороны, ничего не будет работать "из коробки", для запуска потребуется немало напрячься. Все перечисленные в статье инструменты представляют собой оболочки для автоматизации работы с готовыми декомпиляторами.
Изображение
Easy Python Decompiler - оболочка для декомпиляторов Uncompyle2 и Decompyle++. Не требует установленного Python, может декомпилировать как отдельные скрипты, так и целые папки. С помощью Uncompyle2 прекрасно справляется с .pyc-файлами, скомпилированными версиями Pytyhon 1.0-2.7. Тут никаких вопросов нет, Uncompyle2 - самый лучший инструмент для этого, но, к сожалению, его разработка прекращена. Decompyle++ по заверениям авторов, должен поддерживать компиляторы Python аж до самой новой 3.4, но на деле все не так радужно. Простенькие скрипты уровня "Hello World!" версий Python 3.x он отрабатывает еще нормально, более серьезные скрипты гарантированно вызовут падение декомпилятора. Скачать Easy Python Decompiler можно с офсайта или по ссылке ниже.
http://sourceforge.net/projects/easypythondecompiler
Изображение
PjOrion - отечественная разработка, универсальный инструмент для декомпиляции и дизассемблирования Python-скриптов. Изначально создавался для работы с какими-то модами WoT, но вполне может быть использован и для наших целей. Также не требует установленного Python, но при необходимости может легко подключить любую версию Python, установленную на компьютере. Кроме уже упомянутых Uncompyle2 и Decompyle++, для декомпиляции использует еще два инструмента - Fupy и pyREtic. Оба они поддерживают компилятор Python только до версии 2.7 включительно, но хуже того, что они глючные. Повторюсь, что Uncompyle2 по качеству результата еще никто не превзошел. Рабочих декомпиляторов для Python 3.x все также нет. В PjOrion есть полезная функция определения версии компилятора, так что не ошибетесь, какой модуль Python выбрать. Но главная прелесть, ради которой стоит держать PjOrion в коллекции реверсера, - это дизассемблер Python-скриптов. И пока что это единственный инструмент, который можно применить для анализа компилированных скриптов версий 3.x. Конечно, специфическому дизассемблерному листингу очень далеко до красивого декомилированного исходника, но при наличии некоторого опыта можно хотя бы понять логику работы скрипта. Скачать PjOrion можно с офсайта или отсюда.
http://www.koreanrandom.com/forum/topic/15280-pjorion
https://yadi.sk/d/I2LlEf62gmYGa
Изображение
Py2Exe Binary Editor не совсем относится к декомпиляторам, но используется как вспомогательная утилита для извлечения всех компонентов из исполняемых файлов, созданных при помощи py2exe. С помощью Py2Exe Binary Editor можно легко извлечь Python-скрипт для дальнейшего анализа. Как и сам py2exe, редактор работает только со 2-й версией Python.
http://sourceforge.net/projects/p2ebe
http://py2exe.org/
На этом заканчивается и без того скромный список декомпиляторов для Python. Если у вас есть что-нибудь для этих же задач, то большая просьба поделиться. Особенно интересуют рабочие декомпиляторы для Python 3.x.
http://www.manhunter.ru/download/21171/Py2Exe.Binary.Editor.0.1.zip
по всем вопросам
Whatsapp https://wa.me/79580626742
Telegram https://t.me/fraddyrad2019
Группа телеграм https://t.me/joinchat/LIDkaBboW6fTj0Oqr2troQ ссылка для приглашения
Приватный чат Whatsapp https://chat.whatsapp.com/BicztDHkyo16ef6lIBMiln
канал в ютуб https://www.youtube.com/channel/UCFwgj55Tghec-lzRMxLCcMg
поддержать проект https://money.yandex.ru/bill/pay/M77qAAUPZ5Q.190815
ICQ 434055139
viber +79511193576
Whatsapp +79580626742
вконтакте https://vk.com/id544811656
Telegraam +79253167218
КАК ОПЛАТИТЬ QIWI +79511193576
ЯНДЕКС ДЕНЬГИ 410011586936358
Paypall satona2007@yandex.ru
оплата на мобильный счёт(TELE2)+79511193576
на номер карты 4627 1895 7166 6334 кредит урал банк

Для связи нажмите на иконки (они активные)
Изображение Изображение Изображение Изображение Изображение Изображение Изображение Изображение

Вернуться в «полезный софт для взлома»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя