跳转到内容

PyArmor

PyArmor 是一款专业的 Python 源码加密与授权管理工具(付费软件)。它的核心任务是保护 Python 脚本(.py)和编译后的字节码(.pyc),防止商业逻辑被逆向反编译。它不会将代码编译为 C 扩展或机器码,而是提供了一套专有的加密运行时环境。


2. 核心工作原理:动态加密/解密

Section titled “2. 核心工作原理:动态加密/解密”

PyArmor 采用的是 字节码级动态加密 机制,确保完整的 .pyc 文件不会在磁盘上以明文形式暴露:

  1. 预编译与加密:PyArmor 读取原始 .py 文件,编译为 .pyc,随后使用专有算法加密这些字节码。
  2. 生成引导环境:工具会输出加密的数据文件,并附带一个引导模块(通常名为 pytransform.py)。
  3. 运行时动态还原:当用户执行加密脚本时,引导模块率先启动并在内存中接管 Python 虚拟机(PVM)。它会在执行时 动态、即时地在内存中解密 需要的字节码并执行,极大提高了拦截解密代码的门槛。

安全防御维度技术实现与业务价值
源码防泄露加密 .pyc 并运行时解密。阻断使用 uncompyle6 等工具直接还原为 .py 源码的可能性。
代码混淆对函数名、类名、变量名进行不可逆的混淆处理。即使攻击者在内存中 dumps 出字节码并反编译,也极难阅读业务逻辑。
设备级授权管理核心功能。将加密后的代码通过 License 强绑定到客户机器的物理硬件特征(如硬盘序列号、网卡 MAC 地址)上,防止未经授权的软件拷贝。
订阅与过期控制允许为生成的许可设置绝对过期时间(Time-Bomb),适用于 SaaS 订阅制或软件试用期的交付。
反调试与防篡改侦测 gdbpdb 等调试器的注入行为,一旦检测到环境异常或自身文件被篡改,立即中断进程,提高逆向破解门槛。