精锐5-.NET 加密流程
针对 .NET开发的程序容易被反编译的问题,精锐5加密锁提供 VirboxProtector 加密工具,专门针对 .NET程序定制加密方案,可对 .NET函数做碎片化保护、代码加密保护、混淆保护、Jit加密保护、压缩保护、名称混淆保护等多种加密技术,可同时使用压缩、JIT加密和函数保护三重加密,真正实现.NET的安全。
VirboxProtector加壳工具自动集成加密锁绑定,无需再编写代码调用,节约开发商的加密时间。
3.1 启动 VirboxProtector
从 Virbox 开发者工具盒打开加壳工具,将待加密软件拖入到加壳工具中,同时需要【将白色的控制锁插入电脑上】
3.2 设置API密码
在SDK信息处填写API密码,API密码可在VirboxLM平台【概览】页面-【查看开发者信息】获取
API密码获取-- 登录VirboxLM:https://developer.lm.virbox.com/ 获取方法见下图:
3.3.PIN码验证
点击【待验证PIN】,输入控制锁的PIN码,进行PIN验证
3.4 许可选项设置
点击【许可选项】,硬件锁勾选【本地许可】
许可ID相当于每个软件的身份证,加密时候将许可ID与软件绑定,用户锁里有该许可ID的授权时才能打开加密后的软件。在第三步开发者管理工具中【创建产品】时填写的许可ID要与此处保持一致!
许可设置
- 许可ID:此处填写的许可ID要与发授权码时创建产品时的ID一致。
- 锁芯片号:不设置
- 后台检测间隔(秒):表示每隔多少秒对运行程序进行检测是否存在对应许可,如果没有那么就会提示错误,或者退出。如果后台检测时间设为0s,那么后台就不会进行检测许可的操作
- 检测锁插拔消息:软锁不勾选此设置。表示程序运行过程中拔掉用户锁时,直接进行许可查找,若找不到对应许可,则弹框提示信息。
许可运行时库
- 可调试:仅可在开发过程勾选,对外发布时不能勾选。如果勾选此选项,使用可调试版(开发版)许可运行时库,禁用许可反调试功能,仅可在开发过程勾选,对外发布时请勿勾选
- 外置:默认不勾选,会将Runtime库和程序打包一起,若勾选会根据程序的系统及架构在同目录下生成Runtim库:slm_runtime.dll,运行加密后程序时,需要将slm_runtime.dll与程序放在同一个目录下。注意:勾选外置会降低安全性,请根据实际情况选择
3.5 函数选项
点击【函数选项】-【添加函数】,可对exe/dll的函数设置保护方式,选择完毕后,点击确定即可。
.NET类程序函数保护方式推荐:代码碎片化 > 代码加密 > 代码混淆。
3.6 设置加密选项
点击【加密选项】,可对程序设置一些加密选项。
输出信息:可以修改程序保护后生成文件的路径和名称。默认会生成一个protected文件夹并保存
包括导入表保护、压缩、名称混淆等功能,主要是对文件的整体保护。
设置选项 | 功能说明 |
---|---|
JIT加密 | 加密.NET程序的所有方法的 IL代码,防止被反编译和动态调试 |
压缩 | 打包并加密程序中的代码和数据,防止被反编译。 |
调试器检测 | 勾选此选项后,程序检测到进程被调试时退出进程。 |
插件
ds:可加密程序中的资源文件,配合DSProtector
3.7 消息选项
当程序被加密后,程序就与我们之前创建的许可进行关联,当用户在使用我们的加密的程序时如果触发了一些限制时,会以该界面上的消息进行显示。
【许可失效之后程序将】:当许可到期或者加密锁被拔出,可设置弹窗提醒或者闪退。
【提示标题】:弹窗提醒的标题设置。
【自定义消息】:可设置提示条件,如剩余多少天、多少次数的时候进行提醒,也可自定义设置提示消息
3.8 设置完成,保护项目
完成以上所有设置后,即可点击菜单栏【保护选中项目】或者【保护所有项目】
按照上面步骤配置好加壳工具后,点击 "【保护选中项目】" 即可完成程序的加壳操作。
加壳后的程序会在同一目录下生成新文件(dot_NET2_bounce.exe.ssp)和 protected文件夹,protected里包含加密后的文件
protected:加密后的程序会自动生成,保存在此文件夹下,您可以将此文件替换到原来的程序目录里测试运行。
dot_NET2_bounce.exe.ssp 为配置文件,保存了加密过程中的所有配置项目。
至此,软件加密操作已经完成,接下来可参考:快速上手4-使用加密后程序。