跳到主要内容

授权码-Python加密流程

加密流程概述

深盾对 .pyc 文件的加密方式是使用 Virbox Protector 加壳工具对 python 安装目录下的 python.exe进行加壳,再使用 DS Protector 对 .pyc 进行加密。

如果部署到linux环境,需要对python环境里的 python 加壳,然后对pyc加密。

  1. 将python.exe拖入加壳工具
  2. 选择开发锁及填写api密码
  3. 设置许可选项
  4. 设置加密选项
  5. 设置函数选择
  6. 设置消息选项
  7. 执行保护项目
  8. 打开DSProtector加密pyc

3.1打开加壳工具

启动 Virbox 开发者工具盒 -> 点击 "加壳工具" ->点击 "启动加壳工具".

worddava93b89c286dfea4d7a03a7abdb761586.png

将Python.exe拖入到加壳工具中。如果是linux程序,将 python 拖入到加壳工具里。

image-20220720164632814

填写API密码

worddav88cd46b95cd8ffe1720ef317b6259b2b.png

从VirboxLM获取API密码

登录 Virbox LM 平台 在【概览】页面,点击【查看开发者信息】,将API密码复制到加壳工具对应位置。

image-20230403152851914

3.3许可选项配置

许可类型

勾选软锁-本地许可

许可设置

  • 许可ID:此处填写的许可ID要与发授权码时创建产品时的ID一致。
  • 锁芯片号:不设置
  • 后台检测间隔(秒):表示每隔多少秒对运行程序进行检测是否存在对应许可,如果没有那么就会提示错误,或者退出。如果后台检测时间设为0s,那么后台就不会进行检测许可的操作
  • 检测锁插拔消息:软锁不勾选此设置。表示程序运行过程中拔掉用户锁时,直接进行许可查找,若找不到对应许可,则弹框提示信息。

许可运行时库

  • 可调试:仅可在开发过程勾选,对外发布时不能勾选。如果勾选此选项,使用可调试版(开发版)许可运行时库,禁用许可反调试功能,仅可在开发过程勾选,对外发布时请勿勾选
  • 外置:默认不勾选,会将Runtime库和程序打包一起,若勾选会根据程序的系统及架构在同目录下生成Runtim库:slm_runtime.dll,运行加密后程序时,需要将slm_runtime.dll与程序放在同一个目录下。注意:勾选外置会降低安全性,请根据实际情况选择
  • 兼容Electron:若您的程序为 Electron 开发,请勾选,python程序请勿勾选

image-20220720164706166

3.4函数选项

函数选项无需设置

3.5加密选项

注意

导入表保护、压缩、资源保护不选,DS按钮打开,设置密码

image-20220720165023331

3.6消息选项

当程序被加密后,程序就与我们 之前创建的许可进行关联,当用户在使用我们的加密的程序时如果触发了一些限制时,会以该界面上的消息进行显示。

img

3.7执行保护项目

按照上面步骤配置好加壳工具后,点击 "【保护选中项目】" 即可完成程序的加壳操作。

image-20220422180608476

注意

python.exe.ssp 是配置文件,在后面对 .pyc 加密时会用到;

protected文件夹里的 python.exe 是加壳后的 python.exe 文件,替换到环境中的python.exe 即可。

如果是linux程序,会在protected文件夹下生成python,就是加密后的python,将其替换到linux环境

python.ssp是配置文件,下一步加密py文件使用。

3.8打开dsProtector加密pyc

在加密选项界面,点击打开DsProtector即可打开dsProtector工具

worddav73331324b9ce3d0668405e99b6d162cf.png

worddavcb0d45764b75cb6f7ff54cbb1ac3ae79.png

1.设置ssp文件和输出目录

  • ssp文件选择上一步生成的python.exe.ssp
  • 输出目录:设置输出目录后,会将加密后的文件输出到该目录下。如果未设置输出目录,会将源文件保存成 .bak文件。

2.添加文件/目录开始保护

设置完输出目录,可点击【添加文件】或者【添加目录】,将py或者pyc文件添加进来,点击【开始保护】提示成功即可打开输出目录查看加密后的pyc文件。

img

3.9替换文件

  • 将protected目录里加密后的python.exe,替换环境里的python.exe
  • 部署加密后的py和pyc文件。
建议

建议将核心代码编译为 cython模式后再做加密更安全,cython使用方式: https://cython.org/

至此,软件加密已完成,可进行下一步操作:使用加密后程序