У меня есть сборка Pyinstaller и папка pycache. У меня также есть мой exe (как onedir, а не onefile) и файл Pyinstaller .spec. Как я могу получить свой код из них? Я случайно удалил его. Пожалуйста помоги
Это не должно быть большой проблемой, так как есть несколько библиотек, которые помогут в этом.
Начните с загрузки pyinstxtractor.py
из здесь, а затем запустите pip install uncompyle6
.
Теперь откройте свой каталог и откройте CLI в этом месте, а затем скопируйте pyinstxtractor.py
в этот каталог и выполните команду:
python pyinstxtractor.py executable.exe
Теперь в каталоге будет создана папка executable.exe_extracted
, теперь зайдите в папку и откройте CLI в этом новом месте, а затем выполните команду:
uncompyle6 executable.pyc
Теперь ваш код будет «декомпилирован» в CLI, просто скопируйте и вставьте его в новый файл py.
ПРИМЕЧАНИЕ:
Также имейте в виду, что для лучшей производительности лучше использовать ту же версию Python, что и та, с которой вы создали проект.
Еще одной альтернативой uncompyle6 является decompyle3, которая лучше работает с кодами, написанными на python 3.7+.
ОБНОВЛЯТЬ:
Если у вас возникли проблемы с использованием decompyle3
или uncompyle6
, используйте онлайн-декомпиляторы pyc, такие как PyC decompiler-love data tool или Decompiler
Также обратите внимание: видно, что декомпиляция иногда не работает, потому что в некоторых файлах pyc отсутствуют волшебные заголовки (которые вручную или с использованием кодов) должны быть вставлены в файлы pyc.
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат.