这只是一个有限的第一层混淆解决方案,但是它是内置的:Python有一个编译器来对字节码进行编码:
python -OO -m py_compile <your program.py>
生成一个
.pyo包含字节码的文件,并删除其中的文档字符串,等等。您可以
.pyo使用.py扩展名重命名该文件,并且
python <your program.py>可以像程序一样运行,但不包含源代码。
PS:您获得的“有限”混淆级别使得人们可以恢复代码(带有一些变量名,但没有注释和文档字符串)。有关如何 *** 作,请参见第一个评论。但是,在某些情况下,这种混淆程度可能被认为足够。
PPS:如果您的程序导入的模块像这样混淆,那么您需要使用
.pyc后缀来重命名它们(我不确定这一天不会中断),或者您可以使用
.pyo和一起运行它们
python -O ….pyo(导入应该工作)。这将允许Python查找您的模块(否则,Python将寻找.py模块)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)