反编译Python 3.6 exe文件

时间:2018-06-11 09:57:52

标签: python python-3.x decompiler recover

我在SO上多次注意到这个问题,但没有一个答案似乎适用于Python 3.6版本。在大多数情况下,当我被问到时,我不小心删除了我的.py源文件,但我仍然使用pyinstaller构建了一个.exe(只传递--onefile和--icon参数)。

我设法达到了以下几点:

  • 在我上面提到的.exe上运行pyinstxtractor.py。这给了我一堆文件,包括一个没有扩展名的文件,实际上源文件的.pyc缺少了神奇的数字。
  • 重命名了没有扩展名的文件,以便拥有.pyc扩展名
  • 使用十六进制编辑器将幻数附加到.pyc文件,使用另一个.pyc文件中的标头(本例中使用__future__)。它看起来像this
  • 在.pyc文件上运行uncompyle6,该文件现在具有正确的幻数,但操作失败,如here所示。检索了一些代码(大约15%),但这个重要的部分只是模糊的字节码。

我设法遇到的任何其他工具都不适用于Python 3.6,例如Easy Python Decompiler,unpyclib,pyREtic。

我没有设法使用pycdc / Decompyle ++或Maynard,因为我不了解它们是如何工作的,但它们似乎仍然不支持3.6。

我还有其他的尝试吗?

PS:我的操作系统是Win7,我确实尝试过文件恢复软件和系统回滚,但都没有。

0 个答案:

没有答案