atuotuo

前情提要

之前由于项目的需要,需要我们将一部分“关键代码”隐藏起来。 

虽然Python 先天支持 将源代码 编译后 生抽 .pyc文件,但是破解起来相当容易。

于是搜罗了另外一种方法,将关键的库转换成 .so ,从而将其保护起来。

 

使用 Cython 保护代码 (Ubuntu16.04 - LTS)

① 准备工作

1. 安装 cython

pip install cython

 

2. 安装 python-dev

sudo apt-get install python-dev

 

3. 安装gcc

sudo apt-get install gcc

 

② 新建setup.py,内容如下

from distutils.core import setup
from Cython.Build import cythonize

setup(ext_modules = cythonize(["Train_predict.py"]))

 

③ 运行脚本 (注: 需要在Python 文件的同目录下运行)

python setup.py build_ext

 

④ 运行脚本后,在当前目录会生成一个 /build 子目录

 

 打开后,可以看到 .so 文件已经生成:

 

将 .so 文件拷贝到原来 .py 文件的目录后,删除 .py文件后,测试: 在没有修改任何调用程序源码的情况下,在pythoncharm中已经无法找到 “Train_predict.py” 中函数的定义,但是却可以正常的调用这个函数。

 

OK, 我们已经成功地将“关键代码” 隐藏起来; 任务完成!!

最后,感谢大家的观看,欢迎留言讨论哦 :)

 

参考:

http://fengzheng369.blog.163.com/blog/static/7522097920161253407914

http://www.cnblogs.com/ke10/p/py2so.html

分类:

Python

技术点:

相关文章:

  • 2021-12-12
  • 2021-10-22
  • 2021-09-10
  • 2021-06-23
  • 2021-09-20
  • 2021-09-27
  • 2021-04-03
猜你喜欢
  • 2021-05-30
  • 2021-10-15
  • 2021-08-05
  • 2021-12-29
  • 2021-09-29
  • 2021-08-06
  • 2021-09-03
相关资源
相似解决方案