隐藏py代码,有几种方式,py编译成pyc,so等,但是pyc还是可用工具反编译出来。既然要隐藏代码,那就要彻底些,so是比较安全的。
分享一个小脚本,一次将若干个py文件编译成so文件,简单,方便,实用
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize(["a.py", 'b.py', 'c.py'])
)
命名为knife.py,和a.py, b.py, c.py放在一个目录下
然后运行:
python setup.py build_ext
生成的so文件在build/lib.xxxx
文件夹中,将so文件拷贝到a.py等同级目录下,大功告成。
现在可以删掉build目录,生成的*.c文件和py文件