跳转至

Virbox Protector Standalone .Net加密流程#

本文档主要说明 .NET 开发语言,如何使用独立外壳对软件进行保护的加密流程,下图为软件加密到交付最终用户的流程图:

一、申请试用及下载Virbox Protector Standalone#

1.1 申请试用#

本步骤为申请试用的流程,如已申请,请跳转至独立外壳下载

首先访问链接:Virbox Protector Standalone官网 ,点击导航【试用及下载】,点击【申请试用许可】

申请试用

进入申请试用页面,输入信息,点击申请即可获取30天100次使用机会。

申请试用

如果您已经购买正式版本外壳,我们将向您的手机号或者邮箱账号中发送正式版本独立外壳的使用许可。

1.2 独立外壳下载#

点击demo版下载,即可下载加壳工具安装包。

demo版本下载

如果您已经购买正式版本的外壳,我们会单独发送正式版本独立外壳的下载链接给您,可以直接下载使用。

1.3 准备工作#

运行下载的安装包,Virbox Protector Standalone安装完成之后,会看到Virbox Protector Standalone与Virbox用户工具软件,Virbox用户工具是Virbox许可服务的可视化界面工具,可以通过Virbox用户工具,来登录许可,获得使用Virbox Protector Standalone的权限。

下载完成

获得使用独立外壳工具的权限

账号版本:打开Virbox用户工具,我的账号下,登录授权账号(具体如何获取使用权限,参考申请试用 )。

登录账号

登录之后可以在我的软件下,查看到外壳独立版的许可信息。

登录账号

加密锁版本:插入硬件锁,可在硬件锁下,查看到软件的许可信息。

加密锁版本

二、软件加密#

2.1 准备工作#

打开Virbox用户工具,我的账号下,登录申请试用账号。

登录之后可以在我的软件下,查看到外壳独立版的许可信息 。

2.2 打开加壳工具#

启动Virbox Protector Standalone,加壳工具主界面如下:

将待加密程序拖入到加壳工具中,本文以 .Net 程序 .Net_RetroSnaker.exe 为例

2.3 被保护函数列表#

点击 “+” 按钮,加壳工具会对软件进行预分析,并列出所有分析到的函数。之后通过在函数列表后面的下列列表中选择相应的保护方式。为了演示只随机选择了一些函数进行保护。
建议开发者对自己写的比较重要函数选函数保护方式,其中安全强度从高到底顺序为:代码加密->代码混淆

加密方式 说明 备注
代码混淆 将代码指令翻译为机器和人都无法识别的一串伪代码字节流,在具体执行时在对这些伪代码进行翻译解释,逐步还原为原始代码并执行 安全度低、不会影响效率
代码虚拟化 将指令翻译成 arm 指令,并置于安全环境内执行 安全度中、不会影响效率
代码加密 将代码块作为数据,用许可加密函数存储,程序执行到该函数时验证许可并解密,内存中不会暴露完整的代码块 安全度高、建议关键函数或调用加密锁方法使用太多会影响效率

注意:开发者需要在软件安全强度与运行速率之间平衡,如果对过多函数选择代码加密可能会影响函数运行性能。

在对列表中的函数选择保护方式时,可以使用ctrl+鼠标左键。然后在选中的函数列表区域内点击鼠标右键 -> "保护方式",选择完成后,点击右下角的确定。 开发商可以根据函数名称来定制自己的加密策略。

2.4 加密选项#

加密选项的区域可以在整体程序的范围上进一步的保护。针对 .NET 程序,建议勾选 “压缩” 功能,可以增加软件的安全性,加壳工具的其他详细功能见 Virbox Protector Standalone

2.5 软件加壳#

按照上面步骤配置好加壳工具后,点击 “加壳保护” 即可完成程序的加壳操作。

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

接下来,我们需要将原始的程序进行备份或移除,再将被加壳程序(这里是.Net_RetroSnaker.ssp.exe)改名为原始程序名.Net_RetroSnaker.exe

至此,软件加密操作已经完成,接下来需要对加密后的软件进行测试验证。

三、测试加密后程序#

启动加密后的程序后,需要检查软件的状态是否可正常运行。

正常运行: