python代码的保护之Pyarmor(一)

本文介绍了在Python程序开发完成后如何通过Pyarmor进行代码保护,包括简单使用、加密过程、加密后的运行方式以及Pyarmor的优点,如批量加密、许可加密和高安全性。
摘要由CSDN通过智能技术生成

我们在用python程序开发完程序后,进行程序发布。发布后要保证算法的安全性,常常需要对代码进行保护,通过这段时间的搜集整理,目前常见的保护方式有:代码混淆加密、编译成二进制动态库、
本篇讲述Pyarmor加密

Pyarmor加密优点:
1、很方便对批量代码进行加密;
2、支持许可加密,可以设置使用期限、绑定网卡等信息(详见:参考链接3);
3、加密安全性较高;

参考链接:
1、PyArmor简单使用
2、官方文档
3、Python代码加密-PyArmor

1、直接混淆加密

测试命令:
在这里插入图片描述
加密后的输出会在运行目录下的dist文件夹

加密后展示:
在这里插入图片描述
执行按照常规运行python程序正常方式运行即可:
在这里插入图片描述

2、增加时间限制保护加密

1、切换license管理目录(目的是为了管理所有licnese,避免管理混乱)

cd /d D:\Project\Python_Lock\Pyarmor_License_Manage

2、生成带截至日期的Lincense (生成截至日期)

C:\Users\Administrator\AppData\Roaming\Python\Python36\Scripts\pyarmor-7.exe licenses --expired 2024-12-30 20241230End

在这里插入图片描述

3、带license的代码混淆加密

pyarmor obfuscate --with-license licenses/r001/license.lic app.py

3、增加硬件绑定保护加密

3.1、查看硬盘信息

如果想绑定加密脚本到固定机器上,首先在该机器上面运行下面的命令获取硬件信息:pyarmor hdinfo
执行:

C:\Users\Administrator\AppData\Roaming\Python\Python36\Scripts\pyarmor-7.exe hdinfo

在这里插入图片描述

3.2、生成绑定硬件的License

如果一台机器上有多个硬盘,那么pyarmor只检查默认的硬盘,也就是命令hdinfo打印出来的默认硬盘

#绑定了硬盘和网卡信息,应该可以只绑定一种硬件,待测试
pyarmor licenses --bind-disk "100304PBN2081SF3NJ5T" --bind-mac "20:c1:d2:2f:a0:96" r002

3.3 带license的代码混淆加密

pyarmor obfuscate --with-license licenses/code-002/license.lic app.py

注意事项

1、执行后编译目录在cmd的运行目录下的dist文件夹,所以在执行命令前先cd切换目录到程序目录;

2、加密后代码变了样子,在执行的时候,除了将py文件拷贝到对应位置外,还要将依赖文件夹pytransform同时拷贝,否则执行第一句话就会出错,提示“ModuleNotFoundError: No module named ‘pytransform’”
在这里插入图片描述
pytransform文件夹是在混淆加密时自动生成的,里面有程序正常运行的依赖
在这里插入图片描述
在这里插入图片描述

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值