【问题标题】:What happens when you turn a python file into an executable?将 python 文件转换为可执行文件时会发生什么?
【发布时间】:2021-03-31 10:13:43
【问题描述】:

将 python 文件转换为可执行文件时会发生什么?它会被加密吗?导入的文件会怎样?你能把它恢复成一个普通的 .py 文件吗?

所以我有了这个 python 文件,我们称之为 ma​​in.py。我还有另一个文件,我们称之为 scrambler.py。 scrambler.py 是一个加密器/解密器 文件。所以,我将它导入到 ma​​in.py。然后我会把它变成一个可执行文件。现在,我们不希望人们看到加密/解密文件。那么,没有源代码的人能否得到导入文件的源代码呢?因为,通过搜索,我看到有些人可以使用pyinstxtractor.py获取主要代码的源代码。我还没试过,但是你也能得到导入文件的源代码吗? (还包括 cmets 吗?我的意思是它们对程序没用)。这就是为什么,最终的问题是:将 python 文件转换为可执行文件时会发生什么?

我用来将 python 文件转换为 .exe 的文件是 Pyinstaller,每个转换器都不同吗?

我希望这是一个有效的问题。提前致谢。

【问题讨论】:

  • 这能回答你的问题吗? How do I protect Python code?
  • 不,那是在说如何让它无法解密,它回答了一些问题,比如把它变成一个.exe 以二进制读取(这是我理解的)。

标签: python


【解决方案1】:

Pyinstaller 本质上将 Python 解释器与您的 Python 代码捆绑在一个文件夹中。该文件夹可以放入安装程序(使用类似 inno setup 的东西)进行分发,以便最终用户可以像使用普通 exe 程序一样使用它。它不会编译成另一种语言或任何东西。所以不,您的代码不是私有的,虽然您可能很难找到某些位,但这并非不可能。

如here 所述,可以转换为 C 和机器代码,但 pyinstaller 默认不会为您执行此操作。另请注意,python 字节码文件虽然不清晰,但并非完全无法破解。

见:https://pyinstaller.readthedocs.io/en/stable/operating-mode.html 有关加密选项的更多信息,请参见此处:PyInstaller Encryption --key

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 2010-11-14
    相关资源
    最近更新 更多