3.1. 概念定义
- BCC 模式
一种加密的方法,可以把脚本中的函数转换成为 C 函数,然后使用优化选项编译生成机器指令。使用这种方式加密的函数是不可逆的,无法恢复成为原来的 Python 函数。
- 本地配置
一般在当前目录下会创建一个目录
.pyarmor
,用来存放本地配置,默认本地配置的文件是.pyarmor/config
相同选项的本地配置会覆盖 全局配置
参考 pyarmor cfg
- C
一种最古老的编程语言,现在依然生命力旺盛。
- 根目录
用来存放 Pyarmor 注册信息,全局配置文件等的路径,默认情况下是当前登陆用户的根目录下面的子目录
~/.pyarmor
使用 sudo 命令可能会改变 Pyarmor 的根目录
- 激活文件
一个文本文件,购买任何 Pyarmor 许可证 之后,都会有一个相应的激活文件发送到注册邮箱。
激活文件主要用于第一次注册 Pyarmor 许可证 ,激活文件一旦完成初始登记,就无法在继续使用。
- 加密插件
一个 Python 脚本, 在加密过程被调用,可以对输出的文件进行一些额外的操作。
参考 加密插件
- 脚本补丁
一个 Python 脚本,可以被嵌入到加密脚本中,执行一些额外的检查。
考 脚本补丁
- JIT
JUST-IN-TIME 的缩写,是一种在运行时刻生成机器指令的技术,可以有效防止静态反编译工具对代码进行分析
- 开发机器
是指安装和运行 Pyarmor 的设备,在开发机器上对脚本进行加密
不是所有的平台都可以运行 Pyarmor,所有支持的运行环境请参考 生成加密脚本的环境
- 客户设备
是指运行加密脚本的设备
客户设备上面不需要安装 Pyarmor
- 扩展模块
- 模块私有配置
每一个加密模块可以有自己的私有配置,一般存放在 本地配置 的目录下面,和模块同名的
module.ruler
文件相同选项的私有配置会覆盖 本地配置
- Pyarmor
Pyarmor 是一个用来加密 Python 脚本的工具。
Pyarmor 的组成部分
- Pyarmor 包
一个 Python 包 ,它包含下列包
Pyarmor 8.3 之后,
pyarmor.cli.runtime
因为太大而被分为下列包:- Pyarmor 基础版
一种 Pyarmor 许可证 类型
- Pyarmor 集团版
一种 Pyarmor 许可证 类型
- Pyarmor 用户
使用 Pyarmor 的组织机构或者开发人员
- Pyarmor 项目
项目文件存放在 https://github.com/dashingsoft/pyarmor/
这里有 Pyarmor 开源部分的代码, 提交的 问题报告 和最新的文档。
- Pyarmor 许可证
由 Pyarmor 开发团队颁发,用于解锁 Pyarmor 试用版本中功能限制
请参考 Pyarmor 许可模式和许可证
- Pyarmor 专家版
一种 Pyarmor 许可证 类型
- Python
一种编程语言,官网地址 Python
- Python 脚本
一个包含 Python 源代码的文件
- Python 模块
- Python 包
外部概念 https://docs.python.org/3.11/glossary.html#term-package
- 全局配置
存放 Pyarmor 运行配置的全局文件,全局配置文件必须存放在 Pyarmor 的 根目录 ,默认的文件名称是
~/.pyarmor/config/global
参考 pyarmor cfg
- RFT 模式
一种不可逆的加密模式,可以重命名 Python 脚本中的函数,类,方法,变量和参数
- 外部密钥
一个用于存储 运行密钥 的文件,通常的名称为
pyarmor.rkey
外部密钥可以存放在下面的任何一个路径:
运行辅助包 所在的路径
环境变量
PYARMOR_RKEY
指定的路径,路径中不能使用..
,尾部不能是路径分隔符,一般用来指定一个绝对路径,例如/var/data
当前路径
或者是文件:当前可执行文件的全路径名称 +
.pyarmor.rkey
- 运行辅助包
一个 Python 包 ,名称一般为
pyarmor_runtime_xxxxxx
一般生成加密脚本的同时,也会生成相应的运行辅助包,运行加密脚本需要有相应的运行辅助包。
- 运行辅助文件
是指运行加密脚本需要的所有其他文件
- 运行密钥
保存加密脚本的运行设置和相关约束限制,包括脚本的有效期,脚本绑定的设备信息,也包括控制加密脚本行为的其他标志和设置。
- 运行平台
Pyarmor 定义的标准名称,用来标示运行 Pyarmor 和加密脚本的操作系统和 CPU 架构
下面列出了所有定义的运行平台:
- Windows
windows.x86_64
windows.x86
- Many Linuxs
linux.x86_64
linux.x86
linux.aarch64
linux.armv7
- Apple Intel and Silicon
darwin.x86_64
darwin.aarch64 or darwin.arm64
- FreeBSD
freebsd.x86_64
- Alpine Linux (musl-c)
alpine.x86_64
alpine.aarch64
- Android
android.x86_64
android.x86
android.aarch64
android.armv7
- 注册文件
一个
.zip
格式的压缩文件,主要用于除了初始登记之后的所有注册。第一次初始登记使用 激活文件 ,激活成功之后生成注册文件,之后在任何设备上都要使用注册文件进行注册。