跳转至

Virbox Protector Standalone Unity3D 程序加密流程#

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

一、申请试用及下载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 Unity3D程序保护背景#

Unity3D主要使用C#语法和开源mono运行开发商的代码逻辑,所有代码都不是编译到EXE,而是位于{APP}\build\game_Data\Managed\Assembly-CSharp.dll(注意Unity-2017位置略有不同)。

而且mono执行原理跟微软.NET Framework兼容但是执行原理完全不一样。传统的.NET Framework加壳全部失效,因为Assembly-CSharp.dll不是PE格式的动态库也不是.NET的动态库,无法从 .NET Framework 加载,而是由mono.dll读取 Assembly-CSharp.dll的里面C#脚本解释执行。

2.2 Unity3D程序加密方式#

对于Unity3D的保护方式,主要是通过Virbox Protector Standalone对Unity3D程序的整个生成目录进行加密,可以保护Unity的主要代码逻辑不被反编译,最大程度保护软件开发商的合法权益,同时DSProtector工具可以对Unity软件中的 .resS和resources等资源文件进行加密防止软件或游戏中的资源被非法提取。

2.3 开始进行加密#

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

加壳工具主界面

直接拖入文件或者选择打开文件的形式,选择需要加密的文件。本文以Unity3D游戏程序 Game-AngryBots.zip 为例

通过加壳工具中,打开目录的方式,打开Unity3D的整个生成目录文件。将Unity3d的整个输出文件夹拖入到加壳工具中

打开目录

2.4 被保护的函数列表#

Virbox Protector Standalone会对Unity3D生成目录文件夹下的多个文件进行处理,生成新的已加密的文件夹,所以这里不需要选择任何的函数保护方式。

打开目录

2.5 加密选项#

加密选项的区域可以在整体程序的范围上进一步的保护。加壳工具的其他详细功能见 加壳工具手册

ds插件主要是对Unity软件中的.resS和resources等资源文件进行加密,防止软件或游戏中的资源被非法提取。所以这里我们要把ds插件的开关打开,以便后续对资源进行加密。密码可以随意填写,不需要记忆。

2.6 软件加壳#

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

加壳后的程序会在软件原目录的文件路径,多生成一个文件新的文件夹和一个加壳后的配置文件,如下图所示:

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

至此,软件加密操作已经完成,接下来需要对软件的资源文件进行加密。

三、资源加密#

打开"DS Protector.exe",对资源文件进行保护。

图片

点击浏览 选择上一步对Game-AngryBots文件夹加壳时生成的 Game-AngryBots.ssp 即ssp文件。

图片

点击添加资源 选中要加密的.assets、.assets.resS资源文件。点击保护它 ,绿色进度条执行完成,则完成加密。

图片

加密后的文件名为原文件名称,原文件名称则变更为原文件名称.bak,xxx.bak文件在软件发布时需要删除。

至此,Unity3D程序源码加密和资源文件加密流程已经完成,下一步需要对加密后的程序进行测试,检查加密后是否可以正常运行。

四、测试加密后程序#

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

正常运行:

图片