Декомпилировать Python 2.7.pyc - программирование
Подтвердить что ты не робот

Декомпилировать Python 2.7.pyc

Я искал вверх и вниз, но не могу найти декомпилятор, который будет работать для Python 2.7.pyc. Кто-нибудь знает, кто будет работать на Python 2.7? Благодаря

4b9b3361

Ответ 1

ОБНОВЛЕНИЕ (2019-04-22) - Похоже, вы хотите использовать uncompyle6 в наши дни, а не ответы, которые я упоминал первоначально.

Похоже, это работает: http://code.google.com/p/unpyc/

В выпуске 8 говорится, что он поддерживает 2.7: http://code.google.com/p/unpyc/updates/list

ОБНОВЛЕНИЕ (2013-09-03) - как отмечено в комментариях и других ответах, вы должны смотреть https://github.com/wibiti/uncompyle2 или https://github.com/gstarnberger/uncompyle вместо unpyc.

Ответ 2

В случае, если кто-то все еще борется с этим, так как я был сегодня утром, я нашел решение, которое работает для меня:

Uncompyle

Инструкции по установке:

git clone https://github.com/gstarnberger/uncompyle.git
cd uncompyle/
sudo ./setup.py install

Как только программа будет установлена ​​(обратите внимание: она будет установлена ​​на ваши доступные для всей системы пакеты Python, поэтому она должна быть в вашем $PATH), вы можете восстановить файлы Python следующим образом:

uncompyler.py thank_goodness_this_still_exists.pyc > recovered_file.py

Декомпилятор добавляет некоторый шум в основном в виде комментариев, однако я нашел его удивительно чистым и верным моему исходному коду. Вам нужно будет удалить небольшую строку текста, начиная c+++, ближе к концу восстановленного файла, чтобы иметь возможность запускать ваш код.

Ответ 3

Decompyle ++ (pycdc), похоже, работает для ряда версий python: https://github.com/zrax/pycdc

Например:

git clone https://github.com/zrax/pycdc   
cd pycdc
make  
./bin/pycdc Example.pyc > Example.py

Ответ 4

Вот отличный инструмент для декомпиляции файлов pyc.

Он был закодирован мной и поддерживает python 1.0 - 3.3

Он основан на uncompyle2 и decompyle ++

http://sourceforge.net/projects/easypythondecompiler/

Ответ 5

Ned Batchelder опубликовал короткий script, который будет демонтировать файл .pyc и разобрать любые объекты кода внутри, так что вы будете способный видеть байт-код Python. Похоже, что с более новыми версиями Python вам нужно будет прокомментировать строки, которые устанавливают modtime и печатать его (но не комментируйте строку, которая устанавливает moddate).

Превращение этого в источник Python было бы несколько сложнее, хотя теоретически возможно. Я предполагаю, что все эти программы, которые работают для более старых версий Python, делают это.