Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 3, 2009 23:19:23

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Декомпиляция Python

Есть ли простой в обращении декомпилятор *.pyc файлов? ()
Вот для Java пользуюсь Java-decompiler - очень полезно.
Особенно наводят на размышление случаи когда восстановленный из классов код не соответствует исходникам. Как правило оказывается что в этом месте что-то сделано через (_*_).

Быстрый поиск простых инструментов не обнаружил :(



Офлайн

#2 Дек. 3, 2009 23:30:08

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Декомпиляция Python

“Простых” это каких? И как вы искали?

Офлайн

#3 Дек. 3, 2009 23:53:19

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Декомпиляция Python

Ferroman
И как вы искали?
Так и искал :)
На WinXP-SP3_Python-2.6.2 не работал без указания причины.
Разбираться глубже не стал - квалификация не та.

Ferroman
“Простых” это каких?
Ну так чтоб для конечного пользователя - включил и работает :)



Офлайн

#4 Дек. 4, 2009 00:17:17

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Декомпиляция Python

Офлайн

#5 Дек. 4, 2009 00:34:20

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Декомпиляция Python

Если exception и stacktrace не помогли - то, имхо, декомпилер вам тоже ничего не даст.
Тем более я бы не называл его “продуктом для конечного пользователя”.



Офлайн

#6 Дек. 4, 2009 00:55:10

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Декомпиляция Python

Андрей Светлов
Если exception и stacktrace не помогли - то, имхо, декомпилер вам тоже ничего не даст.
Тем более я бы не называл его “продуктом для конечного пользователя”.
Ну вот для примера тот же самый Java-decompiler. Запускаю - работает.
Натравливаю на свои файлы - вижу на месте условия одного из циклов кучу непонятного кода - нахожу ошибку, которая при простом просмотре и во время исполнения далеко не очевидна.

Конечный пользователь языка программирования.



Офлайн

#7 Дек. 4, 2009 01:37:20

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Декомпиляция Python

На Питоне вы увидите ровно то, что было в исходниках.
Если брался не тот модуль - это проще спросить через __file__
Так что я очень скептически отношусь.
Другое дело - посмотреть в дизассемблер dis.dis(…)
Там кое-что можно увидеть. В основном - для оптимизации, но и пониманию “как оно работает” тоже помогает.



Офлайн

#8 Дек. 4, 2009 01:52:41

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Декомпиляция Python

Андрей Светлов
На Питоне вы увидите ровно то, что было в исходниках.
Жаль.
В яве кое что меняется. В основном по мелочи (переносится место объявления переменной например)
Но иногда и заметно. В основном тогда когда что-то неправильно.



Отредактировано (Дек. 4, 2009 01:55:35)

Офлайн

#9 Март 21, 2020 00:22:08

TypeSafe
Зарегистрирован: 2020-03-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Декомпиляция Python

knkd
Есть ли простой в обращении декомпилятор *.pyc файлов? ()
Вот для Java пользуюсь Java-decompiler - очень полезно.
http://decompiler.com/ и Java и Питон декомпилирует. И всё онлайн прямо на сайте.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version