经过 PyArmor 加密后的 Python 脚本也是一个正常的 Python 脚本,只需要一个额外的扩展模块 pytransform
,就可以把原来的 Python 脚本全部替换成为加密脚本,按照以前的方式使用和运行这些加密脚本
这个特性也使得经过 PyArmor 加密后的脚本,还可以在继续使用第三方工具(例如 py2exe, py2app, PyInstaller,cx_Freeze 等打包发布
PyArmor 不仅仅能够加密 Python 脚本,即便在脚本被解释执行的运行过程中,一旦函数(代码块)执行完成,就会被重新加密,从更深层次保证了 Python 脚本的安全性
PyArmor 能够通过第三方工具PyInstaller把脚本加密之后直接打包发布
PyArmor 可以为加密的脚本设置使用期限,过期之后加密的 Python 脚本就无法在继续运行
PyArmor 可以绑定加密 Python 脚本到硬盘序列号、网卡的 Mac 地址、IP 地址等
加密后的脚本对用户来说就是黑盒子,所以可以在 Python 脚本里面添加任意的认证方式
最简单的方式是 pip
pip install pyarmor
使用 obfuscate
命令,加密主脚本 foo.py
以及当前目录的所有其他 .py
文件,保存所有加密后的文件到目录 dist
pyarmor obfuscate foo.py
像运行正常角本一样运行加密后的脚本 dist/foo.py
cd dist
python foo.py
首先使用命令 hdinfo
查看目标机器的硬件设备信息
然后使用命令 licenses
, 创建新的许可文件
接着使用新生成的许可文件加密脚本
最后再次运行加密脚本 foo.py
,测试一下新的许可证
pyarmor hdinfo
pyarmor licenses \
--expired "2018-12-31" \
--bind-disk "100304PBN2081SF3NJ5T" \
--bind-mac "70:f1:a1:23:f0:94" \
--bind-ipv4 "202.10.2.52" \
r001
pyarmor obfuscate --with-license licenses/r001/license.lic foo.py
cd dist
python foo.py
加密并打包脚本 foo.py
,并生成可以单独运行的可执行文件 dist/foo/foo.exe
pyarmor pack foo.py
pip install pyarmor-webui
pyarmor-webui