当前位置:   article > 正文

PyArmor 一键加密_pyarmor加密

pyarmor加密

使用:

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

之后按加密前的调用方法使用即可。

2.1 安装

  1. pip install pyarmor
  2. # 验证是否安装成功, 7.0 以下版本为稳定版
  3. pyarmor --version

三 PyArmor新版本

只有三个命令:gen、reg 和 cfg

3.1 混淆一个脚本

三个命令都可以:gen, g, generate

  1. pyarmor gen foo.py
  2. pyarmor g foo.py
  3. pyarmor generate foo.py

该命令 生成一个混淆的脚本dist/foo.py,这是一个有效的Python脚本,通过Python解释器运行它:

python dist/foo.py

检查默认输出路径中所有生成的文件:

  1. ls dist/
  2. ... foo.py
  3. ... pyarmor_runtime_000000

有一个额外的 Python 包pyarmor_runtime_000000,需要它来运行混淆的脚本

3.2 分发脚本

仅仅复制dist/foo.py到另一台机器是行不通的,而是复制 dist/.

请在相同Python版本、相同平台的机器上运行此混淆代码,否则无法运行。因为pyarmor_runtime_000000扩展模块,所以它是平台相关的并且绑定到Python版本。

3.3 混淆包

pyarmor gen -O dist2 src/mypkg

检查输出格式是否正确:

  1. $ ls dist2/
  2. ... mypkg
  3. ... pyarmor_runtime_000000
  4. $ ls dist2/mypkg/
  5. ... __init__.py

中的所有混淆脚本dist2/mypkg,测试一下:

  1. cd dist2/
  2. python -C 'import mypkg'

如果有子包,使用-r启用递归模式:

pyarmor gen -O dist2 -r src/mypkg

四 直接加密文件夹

pyarmor gen .

五 生成跨平台版本

  1. pyarmor gen --platform windows.x86_64
  2. --platform linux.x86_64 \
  3. --platform darwin.x86_64 \
  4. foo.py
  5. pyarmor gen --platform linux.x86_64 .

六 需要进一步执行的命令

6.1 生成加密文件

pyarmor gen main.py

6.2 拷贝文件到上级目录执行覆盖

xcopy /Y /E dist\*.* .

6.3 测试执行代码

python main.py

七 docker命令使用

  1. # 6.1 生成加密文件
  2. RUN pyarmor gen main.py
  3. # 查看文件夹文件
  4. RUN ls -a

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/500396
推荐阅读
  

闽ICP备14008679号