Как декомпилировать программу на python

В общем, я писал небольшой скрипт для на python. Заказчик потребовал, чтобы был готовый exe, поэтому пришлось использовать Pyinstaller (с py2exe у меня выдавало ошибку). Проект выполнен и я решил переустановить винду. Но потом заказчик попросил переписать скрипт. Исходники я конечно же не забэкапил т.к. думал что к этому проекту уже не вернусь.

В итоге, что у меня есть: exe скомпилированный с помощью pyinstaller и исходники старой версии проекта, которые остались на флешке. Подскажите, можно ли их как-нибудь декомпилировать в .py или мб какое-нибудь другое решение (писать заново — не вариант).

Отслеживать

1,815 1 1 золотой знак 16 16 серебряных знаков 29 29 бронзовых знаков

задан 4 сен 2018 в 11:47

31 1 1 золотой знак 1 1 серебряный знак 2 2 бронзовых знака

Источник: ru.stackoverflow.com

Python reverse engineering

Как декомпилировать exe файл скрипта на Python?

5a81dd04db74f886920982.png

Всем доброго!
Есть файл exe предполагаю, что это скомпилированый python.
Вот такая иконка:

Как правильно его можна декомпилировать?

  • Вопрос задан более трёх лет назад
  • 14739 просмотров

Решения вопроса 1

Седой и строгий

  1. Скачиваешь PyInstaller Extractor
  2. Устанавливаешь uncompyle6
  3. Распаковываешь extractor’ом exe’шник
  4. Декомпилируешь интересующие pyc-файлы с помощью uncompyle6

Ответ написан более трёх лет назад

Нравится 21 Комментировать

Ответы на вопрос 0

Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python
  • +2 ещё

Node js или пайтон для работы с изображениями и цветом?

  • 1 подписчик
  • 4 часа назад
  • 32 просмотра

Источник: qna.habr.com

Как декомпилировать программу на python

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

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

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

Читайте также:
Как в mac добавить программу в launchpad

Decompile Python Files | Under 1 Minute

Все декомпиляторы для Python, которые я встречал, написаны на нем же самом. С одной стороны, это облегчает понимание их работы, дает возможность доработки. Но с другой стороны, ничего не будет работать «из коробки», для запуска потребуется немало напрячься. Все перечисленные в статье инструменты представляют собой оболочки для автоматизации работы с готовыми декомпиляторами.

Скриншот программы Easy Python Decompiler

Скриншот программы Easy Python Decompiler

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 можно с офсайта или по ссылке ниже.

Easy Python Decompiler 1.3.2

Скриншот программы PjOrion

Скриншот программы PjOrion

PjOrion — отечественная разработка, универсальный инструмент для декомпиляции и дизассемблирования Python-скриптов. Изначально создавался для работы с какими-то модами WoT, но вполне может быть использован и для наших целей. Также не требует установленного Python, но при необходимости может легко подключить любую версию Python, установленную на компьютере.

Кроме уже упомянутых Uncompyle2 и Decompyle++, для декомпиляции использует еще два инструмента — Fupy и pyREtic. Оба они поддерживают компилятор Python только до версии 2.7 включительно, но хуже того, что они глючные. Повторюсь, что Uncompyle2 по качеству результата еще никто не превзошел. Рабочих декомпиляторов для Python 3.x все также нет.

Читайте также:
Какие программы должен знать редактор

В PjOrion есть полезная функция определения версии компилятора, так что не ошибетесь, какой модуль Python выбрать. Но главная прелесть, ради которой стоит держать PjOrion в коллекции реверсера, — это дизассемблер Python-скриптов. И пока что это единственный инструмент, который можно применить для анализа компилированных скриптов версий 3.x. Конечно, специфическому дизассемблерному листингу очень далеко до красивого декомилированного исходника, но при наличии некоторого опыта можно хотя бы понять логику работы скрипта. Скачать PjOrion можно с офсайта или отсюда.

Ren

Ren’Py

Unrpyc — декомпилятор для скриптов, созданных в игровом движке Ren’Py. Они хоть и пишутся на Python, но имеют свой внутренний формат и после компиляции не поддаются анализу обычными средствами. Декомпилятор работает из командной строки и требует наличие установленного Python.

Скриншот программы Py2Exe Binary Editor

Скриншот программы Py2Exe Binary Editor

Py2Exe Binary Editor не совсем относится к декомпиляторам, но используется как вспомогательная утилита для извлечения всех компонентов из исполняемых файлов, созданных при помощи py2exe. С помощью Py2Exe Binary Editor можно легко извлечь Python-скрипт для дальнейшего анализа. Как и сам py2exe, редактор работает только со 2-й версией Python.

Py2Exe Binary Editor 0.1

На этом заканчивается и без того скромный список декомпиляторов для Python. Если у вас есть что-нибудь для этих же задач, то большая просьба поделиться. Особенно интересуют рабочие декомпиляторы для Python 3.x.

Источник: www.manhunter.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru