【问题标题】:Recover code from Pyinstaller build and .spec file从 Pyinstaller 构建和 .spec 文件中恢复代码
【发布时间】:2020-12-17 04:43:58
【问题描述】:

我有 Pyinstaller build 和 pycache 文件夹。我也有我的 exe(作为 onedir,而不是 onefile)和 Pyinstaller .spec 文件。 我怎样才能从他们那里得到我的代码?我不小心把它删了。请帮忙

【问题讨论】:

    标签: python-3.x pyinstaller python-3.8


    【解决方案1】:

    这应该不是什么大问题,因为有一些库可以帮助做到这一点。

    1. 首先从here 下载pyinstxtractor.py,然后运行pip install uncompyle6

    2. 现在打开您的目录并在此位置打开 CLI,然后将 pyinstxtractor.py 复制到该目录并运行命令:

      python pyinstxtractor.py executable.exe
      
    3. 现在,将在目录中创建一个文件夹executable.exe_extracted,现在进入该文件夹并在这个新位置打开 CLI,然后运行命令:

      uncompyle6 executable.pyc
      
    4. 现在您的代码将在 CLI 上“反编译”,只需将其复制并粘贴到新的 py 文件中即可。

    注意:

    • 另外请记住,最好使用与您创建项目时使用的 Python 版本相同的 Python 版本,以获得更好的性能。

    • uncompyle6 的另一种替代方法是decompyle3,它更适用于在 python 3.7+ 上编写的代码

    更新:

    如果您在使用decompyle3uncompyle6 时遇到问题,请使用PyC decompiler-love data toolDecompiler 等在线pyc 反编译器

    另请注意:可以看出反编译有时不起作用,因为某些 pyc 文件错过了必须将魔术头(手动或使用代码)插入到 pyc 文件中。 p>

    【讨论】:

    猜你喜欢
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-06
    • 2016-12-14
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    相关资源
    最近更新 更多