Python脚本代码加密,PyArmor库加密脚本测试及相关教程

前言说明:本文章是测试PyArmor库的心路历程,在pycharm新建项目的虚拟环境中进行的,需要加密的脚本是TouTiaoV1.py,需要提前安装好pyinstaller,pyarmor库。

PyArmor目前版本是8.2+,但是本人根据PyArmor官方指导文档,测试8X的指令,老是报错,所以,用了7X版本的指令进行的测试,7X的说明文档也是在之前版本上修修补补得来的,需要一点点的测试。经过测试,得到了以下总结文章,希望能够帮助到大家!淘小白❤ TXB2196

下面所有运行的指令都是在pycharm的终端中执行的。

本人安装的PyArmor是8+版,可以使用7X的指令运行加密。

pyarmor这个库是收费的,正版¥298,请先购买正版再进行以下测试!

pycharm终端安装所需库:

pip install pyarmor

一、直接加密脚本测试

直接加密Python脚本,7X指令,会把默认目录下面的py文件全部进行加密,指令生成有效,脚本可以正常执行;

pyarmor-7 obfuscate TouTiaoV1.py

二、加密脚本,设置脚本有效期测试

1、加密过程中给脚本设置一个有效日期,到期脚本会自动过期失效,运行脚本会自动闪退,无法正常运行,测试加密过程分成两步,先生成一个日期身份文件。

生成有效日期文件,在licenses/r001中可以查看到这个生成的日期身份文件。注:r001可以自定义,改成其他也可以

生成指令如下:

pyarmor-7 licenses -e 2023-06-28 r001

 

2、使用生成的时间身份文件与脚本一起加密,生成加密脚本,保存路径是dist2

加密指令如下:

pyarmor-7 obfuscate --with-license licenses/r001/license.lic --exact -O dist2 TouTiaoV1.py

三、加密脚本,绑定机器MAC码测试

绑定机器MAC码,也是分成两步,首先获取机器码,生成机器码身份文件,再进行脚本加密。

绑mac身份文件保存在licenses/r002/中,注:r002可以自定义,改成其他也可以

1、 生成身份文件

1.1生成一个假的MAC码用于对比测试;

pyarmor-7 l --bind-mac 00:16:3e:35:19:3d r002

1.2生成本机真MAC码做对比测试;

首先,执行命令,获取本机MAC码:

Pyarmor-7 hdinfo

执行命令生成MAC身份文件:

pyarmor-7 l --bind-mac 00:ff:d8:13:24:ba r003

2、加密脚本

2.1使用假MAC机器码加密,指令如下:

pyarmor-7 obfuscate --with-license licenses/r002/license.lic --exact -O dist3 TouTiaoV1.py

使用假MAC机器码身份加密脚本,加密后的脚本保存在dist3中。

经测试使用假身份加密脚本,运行测试会闪退;

2.2使用本机真MAC机器码加密,指令如下:

pyarmor-7 obfuscate --with-license licenses/r003/license.lic --exact -O dist4 TouTiaoV1.py

使用本机真身份加密脚本,运行测试正常。加密后的脚本保存在dist4中.

经测试使用真身份加密脚本,运行正常;

三、加密打包成可执行文件(目录版)

第一步:安装pyinstaller库,已安装过忽略,没有安装过执行下面命令:

pip install pyinstaller

第二步:加密脚本,指令如下:

pyarmor-7 obfuscate TouTiaoV1.py

第三步:执行 pyinstaller TouTiaoV1.py 创建 TouTiaoV1.spec

指令如下:

pyinstaller TouTiaoV1.py

生成文件时,会提示y/n 输入y回车

第四步:生成最终的安装包,正确目录为:dist/TouTiaoV1/ 执行指令如下:

pyinstaller TouTiaoV1.spec

第五步:增加使用限制,绑定MAC码或者设置试用期限,指令如下:

Pyarmor-7 pack --with-license licenses/r003/license.lic TouTiaoV1.py

注:本人在测试增加MAC绑定的过程中存在未知的编码错误,绑定机器失败。

不绑定MAC的安装包是可以正常运行的。

PyArmor这个加密库的更新版本很多,有兴趣的朋友可以去看下官方文档!有测试过的朋友,打包成单个文件,并且能够绑定mac地址成功的朋友,请评论区留言,帮助更多的朋友,这个库的资料实在太少了!

你可能感兴趣的:(python,macos,开发语言)