PyArmor 是一个Python脚本加密工具,在 v.7.0.1 中,提供了终极加密模式,能够对 Python 脚本进行绝对安全的保护。在终极模式下面,会把部分函数直接转换成为二进制代码,所以加密过程从本质上讲是不可逆转的。
和直接把脚本转换成为 c
的其它工具 Cython
等相比,终极模式的不同之处在于
.py
文件,其它工具则是转换整个模块为 .c
,然后编译成扩展模块c
,然后编译成为二进制代码,整个模块还是一个正常的 .py
类型的脚本其它工具把整个模块全部都转换成为 c
,而有一些 Python
语句特性是无法完全转换成为 c
,所以有些模块转换成为 c
之后无法正常运行。而 PyArmor 终极模式则只是把模块中部分函数转换成为 c
,对于不容易转换的函数,则还保留原来的方式,所以基本不影响原来的脚本,绝大部分加密后的脚本都可以正常运行。
终极模式需要使用 c
编译器,对于 Linux
和 Darwin
来说,一般不需要进行配置,只要默认的 gcc
和 clang
能工作就可以。在 Windows
环境下面,可以使用下面任意一种方式配置 clang.exe
,目前其它编译器还不支持
clang.exe
,只要在其它路径直接运行 clang.exe
不出错就可以。PYARMOR_CC
来指定这个文件$HOME/.pyarmor
下面即可配置好之后使用 --advanced 5
来进行加密,例如
pip install pyarmor
pyarmor obfuscate --advanced 5 foo.py
加密脚本默认存在在 dist
目录下面
cd dist/
python foo.py
更多详情,请参考 PyArmor 在线文档