赞
踩
使用:
pyarmor obfuscate main.py
参考:Python代码加密方案_python加密代码_wgr_1009的博客-CSDN博客
中文文档:1. 使用教程 — Pyarmor 8.3.6 文档
PyArmor是用于保护Python代码的工具,它可以将Python脚本编译成加密的字节码,以增加代码的保护性。它的主要目的是防止未经授权的访问、复制或修改您的Python代码。使用PyArmor,您可以将您的Python代码转换为不易阅读的字节码形式,并且需要在运行时提供授权文件才能解密和运行。这有助于防止普通用户直接查看您的源代码,但请注意,这并不能阻止所有可能的攻击。
知乎解读:PyArmor原理调研 - 知乎
github: GitHub - dashingsoft/pyarmor
进入要加密的目录,假设main.py是要加密的文件。则
pyarmor obfuscate main.py
PyArmor 会加密 main.py
和相同目录下面的所有 *.py
文件:
并创建输出子目录 dist
之后按加密前的调用方法使用即可。
- pip install pyarmor
-
- # 验证是否安装成功, 7.0 以下版本为稳定版
- pyarmor --version
只有三个命令:gen、reg 和 cfg
三个命令都可以:gen, g, generate
- pyarmor gen foo.py
- pyarmor g foo.py
- pyarmor generate foo.py
该命令 生成一个混淆的脚本dist/foo.py
,这是一个有效的Python脚本,通过Python解释器运行它:
python dist/foo.py
检查默认输出路径中所有生成的文件:
- ls dist/
- ... foo.py
- ... pyarmor_runtime_000000
有一个额外的 Python 包pyarmor_runtime_000000
,需要它来运行混淆的脚本。
仅仅复制dist/foo.py
到另一台机器是行不通的,而是复制 dist/
.
请在相同Python版本、相同平台的机器上运行此混淆代码,否则无法运行。因为pyarmor_runtime_000000
有扩展模块,所以它是平台相关的并且绑定到Python版本。
pyarmor gen -O dist2 src/mypkg
检查输出格式是否正确:
- $ ls dist2/
- ... mypkg
- ... pyarmor_runtime_000000
-
- $ ls dist2/mypkg/
- ... __init__.py
中的所有混淆脚本dist2/mypkg
,测试一下:
- cd dist2/
- python -C 'import mypkg'
如果有子包,使用-r启用递归模式:
pyarmor gen -O dist2 -r src/mypkg
pyarmor gen .
- pyarmor gen --platform windows.x86_64
- --platform linux.x86_64 \
- --platform darwin.x86_64 \
- foo.py
-
- pyarmor gen --platform linux.x86_64 .
pyarmor gen main.py
xcopy /Y /E dist\*.* .
python main.py
- # 6.1 生成加密文件
- RUN pyarmor gen main.py
- # 查看文件夹文件
- RUN ls -a
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。