用于混淆python脚本,将混淆脚本绑定到固定机器或使混淆脚本过期的工具。
项目描述
PyArmor 是一个命令行工具,用于混淆 python 脚本,将混淆脚本绑定到固定机器或使混淆脚本过期。它通过以下方式保护 Python 脚本:
混淆代码对象以保护常量和文字字符串。
在运行时混淆每个函数(代码对象)的 co_code。
代码对象完成执行后立即清除帧的 f_locals。
在运行时验证混淆脚本的许可证文件。
看看foo.py被 PyArmor 混淆后发生了什么。以下是输出路径dist中的文件列表:
foo.py pytransform/ __init__.py _pytransform.so or _pytransform.dll or _pytransform.dylib
dist/foo.py是混淆脚本,内容为:
from pytransform import pyarmor_runtime pyarmor_runtime() __pyarmor__(__name__, __file__, b'\x06\x0f...', 1)
有一个名为Runtime Package的额外文件夹pytransform,它是运行或导入混淆脚本所需的唯一文件夹。只要这个包在任何 Python 路径中,混淆脚本 dist/foo.py就可以用作普通的 Python 脚本。
原始的 python 脚本可以无缝地替换为混淆脚本。
支持平台
Python 2.5、2.6、2.7 和 Python3
win32、win_amd64、linux_i386、linux_x86_64、macosx_x86_64
嵌入式平台:树莓派、香蕉派、橙派、TS-4600 / TS-7600
快速开始
安装:
pip install pyarmor
混淆脚本:
pyarmor obfuscate foo.py
运行混淆脚本:
cd dist python foo.py
使用过期许可证混淆脚本:
pyarmor licenses --expired 2018-12-31 r001 pyarmor obfuscate --with-license licenses/r001/license.lic foo.py
将混淆脚本打包到一个包中:
pip install pyinstaller pyarmor pack foo.py
还有一个 web-ui 包pyarmor-webui:
pip install pyarmor-webui
启动webui,在浏览器中打开网页:
pyarmor-webui
如果有任何问题,请先查看这些问题和解决方案,它可能会帮助您快速解决问题。
如果没有解决方案,技术问题,请点击这里根据问题模板报告问题,业务和安全问题发送电子邮件至pyarmor @ 163 。com