python_0">pyarmor 加密python代码
参考官方文档
https://pyarmor.readthedocs.io/zh/stable/index.html
功能特点:
- 无缝替换: 加密后的脚本依然是一个有效的 .py 文件,在大多数情况下可以直接替换原来的 .py 脚本,而不影响脚本的使用。
- 均衡加密: 提供了丰富的加密选项来平衡安全性和性能,能够满足大多数应用对安全性和性能的要求。
- 不可逆加密: 能够直接重命名源代码中的函数,类,方法,变量和参数。
- 转换成为 C 代码: 能够把模块中部分函数转换成为 C 代码,然后使用高优化选项直接编译 C 代码为机器指令来保护 Python 函数
- 限制加密脚本的使用范围: 可以绑定加密脚本到指定的设备或者设置加密脚本的有效期
安装
pip install -U pyarmor
加密
1 加密脚本
pyarmor gen foo.py
会生成一个加密脚本 dist/foo.py ,这也是一个正常的 Python 脚本,可以直接使用 Python 解释器执行
2 加密包
pyarmor gen -O dist2 src/mypkg
其中 src/mypkg 是源码目录 -O 指定输出目录dist2
3 设置有效期
指定远程时间服务器
pyarmor cfg nts=http://worldtimeapi.org/api
-e 参数指定有效期
30天
pyarmor gen -O dist4 -e 30 foo.py
YYYY-MM-DD
格式设置有效期
pyarmor gen -O dist4 -e 2020-12-31 foo.py
4 绑定指定设备
-b 参数
绑定网卡 00:16:3e:35:19:3d
pyarmor gen -O dist5 -b 00:16:3e:35:19:3d foo.py
绑定 IPv4 地址 128.16.4.10
pyarmor gen -O dist5 -b 128.16.4.10 foo.py
绑定硬盘序列号HXS2000CN2A
pyarmor gen -O dist5 -b HXS2000CN2A foo.py
导入加密后的模块或脚本测试
import os
import sys# 添加加密脚本所在目录到Python路径
script_dir = os.path.join(os.path.dirname(__file__), 'dist')
sys.path.insert(0, script_dir)# 导入加密脚本
import your_script# 调用加密脚本中的函数
your_script.hello()