Skip to main content

用于混淆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

更多资源

项目详情


发布历史 发布通知| RSS订阅