如果有一个真正的“最好”的方式,什么样的的出货Python应用程序,并确保人们不能(容易)的反向工程算法/安全/工作在普通的最佳方式?

如果没有一个“最佳”的方式,有哪些可用的不同选项?

背景: 我喜欢编码在Python,很想用它释放出更多的应用程序。我想知道的一件事是人们规避任何授权代码,我把在,或者能够只是撕裂了我的整个源基地的可能性。我听说Py2Exe和类似用途的,但我很好奇,如果有“优选”这样做的方式,或者如果这个问题仅仅是一个生活的事实。

有帮助吗?

解决方案

透过朦胧安全的从不的工作。如果你必须使用一个专有许可,强制执行通过法律,没有半生不熟混淆的尝试。

如果你担心他们学习您的安全(如加密)算法,同样适用。真实的,有用的,安全算法(如AES)是即使该算法是完全已知的安全。

其他提示

即使你使用像C#或Java的编译语言,如果他们的动机和技术能力的人可以进行逆向工程。模糊处理是不是针对这样的可靠的保护。

您可以添加禁止逆向工程到您的最终用户许可协议的软件。大多数公司专有的做到这一点。但是,这并不妨碍违反,它只是给你的法律追索权。

最好的的解决方案是提供产品和服务,其中用户的访问阅读您的代码不会伤害你的推销自己的产品或服务的能力。您的服务业务提供,或订阅基地,定期更新的数据,而不是代码本身。

例:Slashdot的实际上使他们对他们的网站的代码可用。这是否损害他们跑他们的网站的能力吗?否。

另一个补救方法是设置价格贵点,使得盗版你的代码的努力比单纯购买合法的许可使用您的产品更昂贵。乔尔斯波斯基已经提出了一项建议,以在他的文章和播客这个效果。

航运商业Mac桌面应用,我们做的完全一样在其他的答案中描述;保护自己法律的一个体面的EULA,而不是混淆。

我们从未有过任何人烦恼逆向工程我们的代码。如果我们这样做,我有信心我们可以采取法律行动。所以,是的,这是不争的事实。但是,这是不是太难忍受。刚刚得到一个体面的律师写入一个体面的EULA。

您要查找的词是模糊处理。快速谷歌揭示了:

http://www.lysator.liu.se/~astrand/项目/ pyobfuscate /

但:

a)若侵犯著作权成为一个问题,那么法律就在你身边(只要您在所有文件中的相应的版权声明)。

B)也有可能使开源应用程序的利润,如果你很聪明吧。

c)如果您希望您的知识产权,以实现真正的安全,那么唯一的解决办法是不要让任何人把它摆在首位:编写应用程序作为Web应用程序,(我建议使用Django),只有您的网站托管服务提供商有你的代码访问。

<强> py2exe

在窗户py2exe是航运代码单程给最终用户,py2exe捆绑python解释,必要的DLL和编译成字节码的python代码。

下面是Python的字节码指令得到一些线索是什么样子:

http://www.python.org/doc/2.5 0.2 / LIB / bytecodes.html

或者你也可以使用 DIS 以拆卸一些PYC /杓文件。

因此,使用py2exe类似于分发编译蟒化酶(pyc /杓)文件。

<强> Shedskin C ++编译器

在Shedskin编译器编译蟒到C ++,你可以使用任何编译器编译成本机代码的子集。

<强> pypy

我不知道PyPy太多。根据他们的文档Pypy能够生成C代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top