一尘不染

Python-如何保护Python代码?

python

我正在用Python开发一款软件,该软件将分发给雇主的客户。我的雇主想通过限时许可文件限制软件的使用。

如果我们分发.py文件甚至.pyc文件,将很容易(反编译和)删除检查许可证文件的代码。

另一个方面是,我的雇主不希望我们的客户阅读该代码,因为担心该代码可能被盗或至少是“新颖的主意”。

有解决这个问题的好方法吗?最好使用现成的解决方案。

该软件将在Linux系统上运行(因此,我认为py2exe不会成功)。


阅读 691

收藏
2020-02-08

共1个答案

一尘不染

Python是字节码编译的解释语言,很难锁定。即使你使用py2exe之类的exe打包程序,该可执行文件的布局也是众所周知的,并且Python字节码也很容易理解。

通常在这种情况下,你必须进行权衡。保护代码真的有多重要?那里是否存在真正的秘密(例如,对银行转账进行对称加密的密钥),或者你只是偏执?选择一种语言,使你能够最快地开发出最好的产品,并要对你的新颖创意的价值抱有现实的态度。

如果你确定确实需要安全地执行许可证检查,请将其编写为一个小的C扩展,以便可以对许可证检查代码进行额外的难度(但并非不可能!)以进行反向工程,并将大部分代码保留在Python中。

2020-02-08