跳到主要内容

云许可-标准加密流程

加密流程概述

  1. 将程序拖入加壳工具
  2. 选择开发锁及填写api密码
  3. 设置许可选项
  4. 设置加密选项
  5. 设置函数选择
  6. 设置消息选项
  7. 保护成功

3.1打开加壳工具

启动 Virbox 开发者工具盒 -> 点击 "加壳工具" ->点击 "启动加壳工具". 将待加密的程序拖入到加壳工具里

img

img

3.2选择开发锁及填写API密码

这里我们需要登录开发者账号(需要联网)

img

填写API密码

img

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

image-20230403152939484

3.3许可选项配置

许可形式:勾选云锁-云许可 许可ID:此处填写的许可ID要与发授权码时创建产品时的ID一致。 锁芯片号:不设置

img

3.4函数选项

点击【函数选项】-【添加函数】,可对函数选择保护方式。

针对C、C++等开发的可执行程序和库文件,四种保护方式安全强度:

碎片化 > 虚拟化 > 混淆 > 代码加密

针对.NET开发的可执行程序和库文件,保护方式安全强度:

碎片化 > 代码加密 > 混淆

注意:安全强度越高,对性能的影响越大。

img

3.5加密选项

img

包括导入表保护、压缩、资源保护、名称混淆等功能,主要是对文件的整体保护。

设置选项功能说明
导入表保护隐藏原程序中的导入表,保护程序的函数外部调用,可以达到干扰逆向分析、防脱壳的作用。目前仅支持 PE 格式的程序。注意:导入表的项必须全为函数,否则可能会引起崩溃。
压缩将代码与数据段做了加密,并将原先的导入表与重定位信息隐藏了起来,再"顺便"将原先的数据做了压缩。
内存校验一种检测程序自身完整性的技术,可以对抗文件补丁、内存补丁、软件断点等,内存校验表和校验逻辑本身经过了自保护,以保证其安全性。
资源保护资源加密是针对 PE 格式程序的资源进行加密的保护功能,可以防止程序中的资源信息被提取,篡改。
附加数据扩展使用了 Hook 手段使程序能正常读取到附加数据,另外对附加数据做了加密处理,防止数据被轻易窃取。
许可Runtime库勾选内置,会将Runtime库和程序打包一起,不勾选会根据程序的系统及架构在同目录下生成Runtim库:slm_runtime.dll,使用加密后程序时,需要将slm_runtime.dll与程序放在同一个目录下。注意:不勾选内置会降低安全性,请根据实际情况选择

后台检测时间间隔(s)和检测用户锁拔出消息功能,两者为互斥关系。

  • 后台检测时间间隔(s),表示每隔多少秒对运行程序进行检测是否存在对应许可,如果没有那么就会提示错误,或者退出。如果后台检测时间设为0s,那么后台就不会进行检测许可的操作。
  • 检测用户锁拔出消息,表示程序运行过程中拔掉用户锁时,直接进行许可查找,若找不到对应许可,则弹框提示信息。

3.6消息选项

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

img

3.7完成保护

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

img

保护成功后会生成加密文件和ssp文件:xxx.exe.sspxxx.ssp.exe

xxx.ssp.exe为加密后的程序,xxx.exe.ssp为配置文件,保存了加密过程中的所有配置项目。