Восстановление исходного кода Python из exe

У меня была написана программа на Python, которую я преобразовал в двоичный файл exe с помощью py2exe. У меня есть все файлы, сгенерированные в папке dist, но из-за сбоя системы я потерял исходный код.

Есть ли способ вернуть файл исходного кода .py из .exe или других вспомогательных файлов, созданных py2exe?


person Sirius    schedule 31.08.2011    source источник
comment
Сэм, это прискорбно, и мне очень жаль, но я не знаю, как извлечь код из двоичного файла Windows. Тем не менее, вам нужно сделать некоторый контроль версий (если вы еще этого не сделали) и сделать резервную копию. Как разработчик/программист/инженер/архитектор/и т.д., вы ДОЛЖНЫ быть параноиком и CYA.   -  person Jeff LaFay    schedule 31.08.2011
comment
После системного сбоя вы могли бы просто попытаться восстановить файлы в вашей файловой системе? Например. с помощью testdisk (cgsecurity.org/wiki/TestDisk)   -  person naeg    schedule 31.08.2011


Ответы (1)


По следующим ссылкам вы можете извлечь файлы .pyc из library.zip, а затем использовать декомпилирование для получения файлов .py, аналогичных тем, с которых вы начали.

http://bytes.com/topic/python/answers/101743-py2exe-there-way-go-backwards-exe2py

http://sourceforge.net/projects/decompyle/

Надеюсь, это сработает, и я надеюсь, что в следующий раз вы воспользуетесь github или bitbucket.

person Eric Wilson    schedule 31.08.2011
comment
Декомпиляция файлов байт-кода python — это что-то вроде черной магии, я не знаю ни одного действительно современного проекта, который делает это (например, decompyle последний раз обновлялся в 2009 году), поэтому для современных версий Python у вас будет тяжелое время... - person ; 31.08.2011