我们有一个用Python实现的业务关键程序。我们的老板不想让其他人,特别是我们的竞争对手知道它的设计和实现方式。因此,我必须找到一种加密方法。我最初想到的是pyc和pyo,但很快发现它们可能会被反汇编。我想加密我们的源代码,但不知道该怎么做。你们能帮我吗?任何指导都将不胜感激。
我们有一个用Python实现的业务关键程序。我们的老板不想让其他人,特别是我们的竞争对手知道它的设计和实现方式。因此,我必须找到一种加密方法。我最初想到的是pyc和pyo,但很快发现它们可能会被反汇编。我想加密我们的源代码,但不知道该怎么做。你们能帮我吗?任何指导都将不胜感激。
我建议您重新考虑以下几点:
首先,Python并不是为了混淆而设计的。语言的每个方面都是自由和可访问的,任何人都可以检查或修改它。作为一种字节码语言,锁定Python字节码很困难,而且Python字节码很容易理解。如果你想构建一个无法从外部观察的代码,你将不得不使用另一个工具。
其次,任何东西(真的)最终都可以被反向工程出来,因此不要认为你能够完全保护任何一段代码。 你必须能够理解隐藏代码的重要性(需要估算X数量的资源),与隐藏它的实际用处之间的权衡(也包括努力)。尝试更加客观地评估您的“设计和实现”到底有多重要,以证明所有这些努力的必要性。
考虑一下法律要求。如果您预计人们会滥用您的代码,也许更有用的做法是轻松发现他们并把这转化为法律问题。
将机密功能分离到C函数中并开发SWIG包装器。如果您使用的是C ++,可以考虑使用boost python。