跳到主要内容

精锐5-通用加密流程

本流程适用于由C、C++、Dephil、UE4、golang等开发的可执行程序或者库文件如:exe、dll、so。

3.1 启动VirboxProtector

从 Virbox 开发者工具盒打开加壳工具,将待加密软件拖入到加壳工具中,同时需要【将白色的控制锁插入电脑上】

img

image-20220727155406693

3.2 设置API密码

在SDK信息处填写API密码,API密码可在VirboxLM平台【概览】页面-【查看开发者信息】获取

2021-10-18_173107

API密码获取--**登录VirboxLM:https://developer.lm.virbox.com/ 获取方法见下图:**

image-20230403152450249

3.3.PIN码验证

点击【待验证PIN】,输入控制锁的PIN码,进行PIN验证

img

3.4 许可选项设置

点击【许可选项】

许可设置

硬件锁勾选【本地许可】

  • 许可ID:填写非0的整数,如 2、3、4等,许可ID:此处填写的许可ID要与发授权码时创建产品时的ID一致。
许可ID填什么?

许可ID相当于每个软件的身份证,加密时候将许可ID与软件绑定,用户锁里有该许可ID的授权时才能打开加密后的软件。在第三步开发者管理工具中【创建产品】时填写的许可ID要与此处保持一致!

  • 锁芯片号:此处可以不填写。加密的时候如果填写锁芯片号后,加密出来的程序只能该芯片号的锁打开,其他用户锁即时有授权也无法打开。
  • 后台检测间隔(秒):表示每隔多少秒对运行程序进行检测是否存在对应许可,如果没有那么就会提示错误,或者退出。如果后台检测时间设为0s,那么后台就不会进行检测许可的操作
  • 检测锁插拔消息:软锁不勾选此设置。表示程序运行过程中拔掉用户锁时,直接进行许可查找,若找不到对应许可,则弹框提示信息。

许可运行时库

  • 可调试:仅可在开发过程勾选,对外发布时不能勾选。如果勾选此选项,使用可调试版(开发版)许可运行时库,禁用许可反调试功能,仅可在开发过程勾选,对外发布时请勿勾选
  • 外置:默认不勾选,会将Runtime库和程序打包一起,若勾选会根据程序的系统及架构在同目录下生成Runtim库:slm_runtime.dll,运行加密后程序时,需要将slm_runtime.dll与程序放在同一个目录下。注意:勾选外置会降低安全性,请根据实际情况选择
  • 许可登录失败时卸载动态库:针对CAD插件类的dll、arx 加密请勾选此选项,加载插件时如果授权检查失败, 自动从 cad 卸载该插件,其他程序无需勾选;
  • 兼容Electron:若您的程序为 Electron 开发,请勾选

image-20220727155615254

3.5 函数选项

点击【函数选项】-【添加函数】,可对exe/dll的函数设置保护方式,选择完毕后,点击确定即可。

C/C++类的函数保护方式推荐:代码碎片化 > 虚拟化 > 代码混淆 > 代码加密。

img

img

3.6 设置加密选项

点击【加密选项】,可对程序设置一些加密选项。

输出信息:可以修改程序保护后生成文件的路径和名称。

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

设置选项功能说明
导入表保护隐藏原程序中的导入表,保护程序的函数外部调用,可以达到干扰逆向分析、防脱壳的作用。目前仅支持 PE 格式的程序。注意:导入表的项必须全为函数,否则可能会引起崩溃。
压缩将代码与数据段做了加密,并将原先的导入表与重定位信息隐藏了起来,再"顺便"将原先的数据做了压缩。
内存校验一种检测程序自身完整性的技术,可以对抗文件补丁、内存补丁、软件断点等,内存校验表和校验逻辑本身经过了自保护,以保证其安全性。
资源保护资源加密是针对 PE 格式程序的资源进行加密的保护功能,可以防止程序中的资源信息被提取,篡改。
附加数据扩展使用了 Hook 手段使程序能正常读取到附加数据,另外对附加数据做了加密处理,防止数据被轻易窃取。
虚拟机检测加密后程序在运行时检测到VMware/Virtual Box 等虚拟时阻止程序运行
反调试勾选此选项后,程序检测到进程被调试时退出进程

ds插件:DS Protector是数据保护工具,可以对程序的数据资源文件进行加密保护

image-20220727155654908

3.7 消息选项

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

【许可失效之后程序将】:当许可到期或者加密锁被拔出,可设置弹窗提醒或者闪退。

【提示标题】:弹窗提醒的标题设置。

【自定义消息】:可设置提示条件,如剩余多少天、多少次数的时候进行提醒,也可自定义设置提示消息

img

3.8 设置完成,保护项目

完成以上所有设置后,即可点击菜单栏【保护选中项目】或者【保护所有项目】

img

保护后的程序会在同一目录下多生成两个文件,如下图所示:

image-20220727155756069

温馨提示:加壳后的程序会在同一目录下生成新文件(Mine.exe.ssp)和 protected文件夹:

Mine.exe.ssp为加壳时设置的配置选项,将此文件与待加密的程序放在一起,加壳工具会自动加载配置,可以保存到其他地方,在下次更新需要重新加密时使用。

protected:加密后的程序会自动生成,保存在此文件夹下,您可以将此文件替换到原来的程序目录里测试运行。

至此,软件加密操作已经完成,接下来可参考:快速上手4-使用加密后程序