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 安装

pip install pyarmor

# 验证是否安装成功, 7.0 以下版本为稳定版
pyarmor --version

三 PyArmor新版本

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

3.1 混淆一个脚本

三个命令都可以: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,需要它来运行混淆的脚本

3.2 分发脚本

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

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

3.3 混淆包

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启用递归模式:文章来源地址https://www.toymoban.com/news/detail-685291.html

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 .

六 需要进一步执行的命令

6.1 生成加密文件

pyarmor gen main.py

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

xcopy /Y /E dist\*.* .

6.3 测试执行代码

python main.py

七 docker命令使用

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

到了这里,关于PyArmor 一键加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无线路由器wps一键加密怎么设置?路由器WPS加密设置图文教程

    在前几天编辑为大家介绍了基本的无线路由器安装设置以及无线路由器基本安全设置之后,相信大家都可以独立完成无线路由器的基本设置和安全设置了,对于组建办公或家庭小型无线网络已经不存在问题了,在接下来的文章里我们将主要是对于无线路由器更加深入的安全设

    2024年02月07日
    浏览(34)
  • 【教程】解决php微擎中的goto加密解密,一键解密工具

    今天,我将向大家揭秘一款神奇的工具——goto解密工具,轻松解密这个看似棘手的问题。 无数开发者都曾因为php中的goto功能而头疼不已。goto解密工具其中之一就是解密goto代码。通过精妙的算法和强大的解析能力,它能够解密被goto加密的代码段,使你能够清晰地理解代码的

    2024年02月11日
    浏览(50)
  • 一键打包,随时运行,Python3项目虚拟环境一键整合包的制作(Venv)

    之前我们介绍了如何使用嵌入式 Python3 环境给项目制作一键整合包,在使用嵌入式 Python 环境时,通常是作为另一个应用程序的一部分,而Python3虚拟环境是为了在开发过程中隔离项目所需的 Python 环境。虚拟环境允许我们在同一台计算机上的不同项目中使用不同的 Python 版本和

    2024年02月04日
    浏览(36)
  • 一键整合,万用万灵,Python3.10项目嵌入式一键整合包的制作(Embed)

    我们知道Python是一门解释型语言,项目运行时需要依赖Python解释器,并且有时候需要安装项目中对应的三方依赖库。对于专业的Python开发者来说,可以直接通过pip命令进行安装即可。但是如果是分发给其他的Windows用户,特别是不熟悉Python的人来说,这样过于繁琐。因此最好的

    2024年02月05日
    浏览(27)
  • Python使用CBC加密模式进行AES加密

    在这个示例中,我们使用了 cryptography 库的 Cipher、algorithms、modes、backend 和 padding 模块。 encrypt 函数接受明文字符串、密钥和初始向量(IV)作为参数。 我们首先使用 Cipher 类来创建一个 AES 密码器对象,指定所需的 AES 算法、CBC 加密模式和密钥。然后,我们获取密码器的加密

    2024年01月24日
    浏览(31)
  • Python 自动化办公:一键批量生成 PPT

    Stata and Python 数据分析 一、导读 在实际工作中,经常需要批量处理Office文件,比如需要制作一个几十页的PPT进行产品介绍时,一页一页地制作不仅麻烦而且格式可能不统一。那么有什么办法可以一键生成PPT呢?Python提供的pptx 包就可以用来自动化处理ppt。 pytho****n-pptx 是一个

    2024年01月17日
    浏览(56)
  • python | 傻瓜式一键搭建图片验证码识别接口

    上一篇文章写了自己搭建环境、处理图片、识别验证码等具体操作(上一篇文章地址)。对于没有经验的小伙伴来说,还是比较麻烦的,而且如果训练集处理的不好,识别率会非常低,所以上一篇文章可以作为学习参考,使用的话,我个人觉得本篇文章比较适合入手。 首先感

    2024年02月10日
    浏览(58)
  • AES对称加密实战——前端js加密后端python解密

    高级加密标准(AES, Advanced Encryption Standard),是一种最常见的对称加密算法 。其加密流程如下图所示,发送方通过密钥对明文加密后进行网络传输,接收方用同样的密钥将密文解密。在前后端通讯场景中,可利用AES算法对用户密码进行加密后传输,防止被抓包而造成密码泄露。

    2024年02月04日
    浏览(37)
  • python实现AES-128#实现加密字符串和加密文件

    这篇文章是对之前的一篇文章的重写和优化AES加密算法基于python实现 脚本语言:Python 已实现的功能 明文和密密钥可以是任意字符:中文,字符,数字或符号。 ​ 明文长度任意,密钥的字节数不能超过16字节。默认编码为utf-8所以,密钥最多支持5个中文字符 待加密的数据:可

    2024年02月12日
    浏览(37)
  • Python实现希尔加密/解密

    希尔加密的原理就不多讲了,直接上代码。 定义一个函数:def fun(s, mod1, mod2, key) s:要加密/解密的字符串 mod1:加密或解密 mod2:A=0或A=1,目前网络上的希尔加密都不是统一的,两种模式得出的结果是不一样的。 key:密钥,转换为矩阵后必须为方阵且可逆 要有传入的参数,key的长

    2023年04月19日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包