Python:安全编译脚本?

时间:2011-01-04 22:34:27

标签: python py2exe

问候!

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

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

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:3)

您可以搜索Python混淆器或scrumbler,但无论如何都没有能够保护您知识产权的解决方案。如果你已经开发了一些全新的专利并试图控制它。

在此期间继续阅读How do I protect python code?

答案 1 :(得分:2)

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

  • 分发.pyc文件。这需要稍微努力进行逆向工程
  • 使用混淆器(那里没有很多这样的东西,我没有发现任何我会打电话给头等舱)
  • 在c中写下关键部分(可能是许可证检查等)并打电话给他们
  • 将关键部分编写为Web服务

如果您分发.pyc或py2exe,大多数人可能永远不会查看您的代码。如果有人从字节代码中反转工程师的代码,那有什么大不了的?如果他们足够坚定,他们就可以编写自己的应用程序。如果它非常适合保护来源,请不要太担心它并运送您的应用程序。

答案 2 :(得分:1)

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

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

不过,你可能会考虑是否真的值得付出努力 - 大部分时间都不是。

答案 3 :(得分:1)

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

修改:尝试Google cache ...