我正在用 Python 开发一款软件,将分发给我雇主的客户。我的雇主想要使用限时许可文件来限制软件的使用。
如果我们分发 .py
文件甚至 .pyc
文件,(反编译和)删除检查许可文件的代码将很容易。
另一个方面是我的雇主不希望我们的客户阅读代码,担心代码可能被盗或至少是“新颖的想法”。
有什么好的方法可以解决这个问题吗?
最佳答案
“有没有好的方法来处理这个问题?”不可以。没有任何东西可以防止逆向工程。甚至 DVD 机器上的固件也被逆向工程并且 AACS Encryption key裸露。尽管 DMCA 将其定为刑事犯罪,但还是如此。
由于没有任何技术方法可以阻止您的客户阅读您的代码,因此您必须采用普通的商业方法。
许可证。契约(Contract)。条款和条件。即使人们可以阅读代码,这仍然有效。请注意,某些基于 Python 的组件可能会要求您在销售使用这些组件的软件之前支付费用。此外,一些开源许可证禁止您隐瞒该组件的来源。
提供重要值(value)。如果您的东西非常好——而且价格让人难以拒绝——就没有动力去浪费时间和金钱进行逆向工程。逆向工程很昂贵。让您的产品稍微便宜一些。
提供升级和增强功能,使逆向工程成为一个糟糕的主意。当下一个版本破坏了他们的逆向工程时,就没有意义了。这可能会走向荒谬的极端,但您应该提供新功能,使下一个版本比逆向工程更有值(value)。
以极具吸引力的价格提供定制服务,他们宁愿付钱让您构建和支持增强功能。
使用过期的许可证 key 。这很残酷,会给你带来坏名声,但它肯定会让你的软件停止工作。
将其作为网络服务提供。 SaaS 不涉及向客户下载。
关于python - 如何保护 Python 代码不被用户阅读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36856247/