我有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反编译器love数据工具或反编译器
另请注意:可以看出,反编译有时不起作用,因为一些pyc文件缺少必须插入到pyc文件中的魔术头(手动或使用代码(。