如何从PyInstaller生成的.exe文件中恢复一个.py文件?

8

我丢失了我已经工作了几个月的 Python 原始代码,它被打包成了一个 .exe 文件,使用了 PyInstaller,这是我唯一拥有的。

我尝试过这个链接提供的方法:Exe to python with pyinstaller?

我成功地提取出了一个文件,该文件中包含一些源代码,但是它充满了所有这些无用的字符:

Graphing...

z Value="é z0" MÚ0c C s g | ]}|  d d¡qS )ú"Ú )Ú replace)Ú.0Ús© r úGraphLEDView_1.1.pyú ( s r c C s g | ]}t  d d|¡qS )z[^0-9]r )ÚreÚsub)r Ú LedDatar r r
r ) s )Údtype)é g @)Ú figsizei¸ é z Sensor {}g ü?)ÚlabelÚ linewidthÚLEDsÚ BrightnessÚlogz

提取出来的是一个没有 .py 扩展名的与我的代码同名的文件和一个只包含依赖库的 .pyc 文件夹,其中没有我的代码。有人能帮我找回我的代码吗?如果找不回来,所有工作都白费了...我感觉自己真的很愚蠢。谢谢。


看起来 https://github.com/countercept/python-exe-unpacker 可能是另一个可行的工具。 - G. Anderson
谢谢。我刚刚尝试了一下,输入命令:python python_exe_unpack.py -i myprogram.exe,但是出现了错误:TypeError: extractFiles() takes 1 positional argument but 2 were given。 - Adam Dev
很遗憾,我个人没有使用过这个程序,你可以尝试联系开发者。抱歉我无法提供更多帮助! - G. Anderson
你在打包时使用 onefile 还是 onedir?(看起来是 onefile) 能否提供完整的文件以供下载? - Carson
请提供您的Python版本,例如Python 3.7.7(python --version),以及软件包信息(pip freeze)。 - Carson
我提交了一个拉取请求来修复你在这里的错误:https://github.com/countercept/python-exe-unpacker/pull/16 - 带有修复的版本在这里分叉:https://github.com/johnashu/python-exe-unpacker - johnashu
1个回答

0

看起来似乎不可能。Pyinstaller将.py文件转换为二进制文件,以便您的计算机可以理解。据我所知,没有办法将.exe文件再次转换为.py文件。


1
你说的不正确。将 .exe 转换为 .py 是可能的。这里是将 .exe 转换为 .py的方法。 - PCM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接