代码之家  ›  专栏  ›  技术社区  ›  Shubham

完全反编译python编译的(*.pyc)文件容易吗?

  •  6
  • Shubham  · 技术社区  · 16 年前

    我想知道编译python字节代码有多容易。我用python制作了一个应用程序,我希望它的源代码是安全的。我使用的是py2exe,它基本上依赖于Python编译的文件。

    密码是否安全?

    3 回复  |  直到 16 年前
        1
  •  7
  •   Alex Martelli    16 年前

    取决于您对“完全反编译”的定义…;-)。您将很难恢复原始的python源代码——但是获得 字节码 简单,标准库模块 dis 为了使字节码易于阅读而存在(尽管 仍然 字节码,不是完整的python源代码;-)。

        2
  •  4
  •   Community Mohan Dere    9 年前

    编译.pyc不保护代码。它们很容易阅读。见 How do I protect Python code?

        3
  •  1
  •   Duncan    16 年前

    如果您在网上搜索,您可以找到python字节码的解压程序:有一个免费的下载版本,但它只处理python 2.3之前的字节码,以及 online service 它将被解压缩到2.6版。

    对于更新版本的python字节码,似乎还没有任何解压程序,但几乎可以肯定的是,这是因为没有人觉得需要编写一个解压程序,而不是编写字节码本身的任何基本困难。

    有些人试图通过修改解释器来保护python字节码:没有特别的理由不能用字节码所用的不同值编译自己的解释器:这将阻止使用 import dis 但不会长期忍受任何坚决的攻击,而且要更好地将代码用于改进程序本身,这一切都需要花费金钱。

    简而言之,如果你想保护你的程序,那就用法律来保护它:使用适当的软件许可证,并起诉那些忽视它的人。代码的编写成本很高,但最终结果很少是软件包中有价值的部分:数据更有价值。