pyarmor 加密python代码

发布于:2024-08-12 ⋅ 阅读:(141) ⋅ 点赞:(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()