让我们假设有一个大的商业项目(a.k.a项目),它使用引擎盖下的Python来管理插件,以配置可以附加和使用Project的新控制界面。如何防止反编译或检查python代码?
有一个小小的信息泄露,项目的Python API的一部分泄露给公共信息,人们能够编写Python脚本,这些脚本被底层Python实现调用,作为Project的插件加载机制的一部分。
更进一步,使用inspect
模块和raw __dict__
读数,人们能够找到Project的基础Python实现的主要部分。
有没有办法让Python密码保密?
快看看Python的文档透露了一个办法suppres inspect
模块的导入是这样的:
import sys
sys.modules['inspect'] = None
它是否已完全解决这个问题?
对于你最后的回答,我仍然可以这样做:'del sys.modules ['inspect']':) – mouad
相关:http://stackoverflow.com/questions/261638/how-do-i-protect-python-代码 –
不可能。 _But_ - 看看[这个答案](http://stackoverflow.com/questions/576963/python-code-obfuscation/577161#577161)它建议使用Cython。当然,任何东西都可以被反向设计,但是由于Cython生成的c代码被编译成机器代码,所以可能很难像c中编写的任何东西那样反向工程。 – senderle