【问题标题】:Python: Compiling Script Safely?Python:安全编译脚本?
【发布时间】:2011-01-05 07:09:03
【问题描述】:

您好!

因此,与我的上一个问题相反,我认为我采用了错误的方法。基本上,我需要能够编译 Python 脚本,而不必担心任何常见的 leecher 来获取我的源代码并开始自己使用它。现在我知道 Python 是一种开源语言,不是为了受到保护,但一定有办法吗?

例如,Py2Exe 要求您将源代码保留在纯文本文件中,然后对其进行编译。这完全不是我想要的。这样做的全部原因是编译将不仅仅发生在我自己的 PC 上。我的项目将被编译为 PE 可执行形式并供公众使用,我不能让他们简单地打开和查看我的源代码。

谁能帮帮我?

【问题讨论】:

  • 为什么不把它作为一个开源应用程序发布呢?

标签: python py2exe


【解决方案1】:

您可以搜索 Python 混淆器或扰码器,但无论如何都不会有任何解决方案可以保护您的知识产权。如果您开发了全新的东西,请申请专利并尝试控制它。

同时继续阅读How do I protect python code?

【讨论】:

【解决方案2】:

没有办法完全保护任何东西免受逆向工程的影响。你可以做的一些事情:

  • 分发 .pyc 文件。这需要在逆向工程方面付出更多的努力
  • 使用混淆器(目前还没有很多混淆器,我也没有找到任何可以称为头等舱的)
  • 在 c 中编写关键部分(可能是许可证检查等)并调用它们
  • 将关键部分编写为 Web 服务

如果您分发 .pyc 或 py2exe,大多数人可能永远不会查看您的代码。如果有人从字节码逆向工程你的代码,有什么大不了的?如果他们有足够的决心,他们可以编写自己的应用程序。如果它足以保护源代码,请不要太担心它并发布您的应用程序。

【讨论】:

    【解决方案3】:

    嗯,它不太可能很快发生 - Python 只是一种解释性语言,不适合编译为本机代码。但是,您可以做的是使用Cython 使用 Cython 的类似 Python 的语法创建一个 Python 扩展,将其编译为本机代码并将其与一个“无害”应用程序捆绑在一起,该应用程序同时使用您的扩展模块是时候让你的 IP 更难获得了。

    您也可以尝试ShedSkin,这是一个本地 Python 到 C++ 编译器,但您很快就会发现它非常有限。

    不过,您可能会考虑所有这些是否真的值得付出努力 - 大多数时候并非如此。

    【讨论】:

      【解决方案4】:

      您可以联系Nuitka 的作者,看看它是否有助于分发不可读的代码。

      编辑:试试Google cache...

      【讨论】:

        猜你喜欢
        • 2011-04-09
        • 1970-01-01
        • 1970-01-01
        • 2012-01-31
        • 2010-09-19
        • 2022-08-09
        • 1970-01-01
        • 2014-08-14
        • 1970-01-01
        相关资源
        最近更新 更多