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

针对Android Unity3D 的保护方式,可直接将APK拖入到 Virbox Protector 中,操作参考加密项目文件夹的方式。

操作流程

1.将程序拖入Virbox Protector

2.设置加密选项

3.设置资源加密

4.点击保护选中项目

5.加密效果查看

1.将程序拖入Virbox Protector

将Unity3D程序的整个目录拖入 Virbox Protector 中

2.设置加密选项

1) 程序集:点击+号可以添加程序集文件,即Managed目录下自主开发的C# 程序集.[注:加壳工具默认对Unity3D目录下的mono.dll和Assembly-CSharp*.dll]文件进行加壳保护]

2)输出信息:加密选项处输出文件夹会自动写成【ssp.程序名】

3)反调试插件:不开启。

3.设置资源加密

点击资源加密,将启用按钮打开。Virbox Protector会将资源文件加载进来,也可点击添加文件添加其他资源文件。

4.点击保护选中项目

点击【保护选中项目】,提示加壳成功,打开生成目录,默认是在原文件的同目录下生成新的ssp.XXX(Unity3D程序文件夹名称),加密成功。

5.保护效果图

1、下图为 Assembly-CSharp*.dll 脚本文件的保护效果图。

2.资源加密效果

Android Unity3D 加密流程

针对Unity3D编译选项时选择的mono和IL2CPP格式,两种保护方式不同。

mono格式

1、先将Android Unity3D apk解压,查看lib库目录,如图所示:

2、若是lib目录下含有libmono.so库,那么说明Unity3D编译选项时选择的是mono,此时需要对apk整个目录进行加壳。如图所示:

3、可以直接在资源加密选项处点开启用按钮,可以对Unity3D中的资源文件进行加密保护。

4、加壳成功后会生成ssp.apk,然后重新对加壳后的ssp.apk进行签名打包,才能正常安装。

IL2CPP格式

1、先将Android Unity3D apk解压,查看lib库目录,如图所示:

2、若是lib目录下含有libil2cpp.so库,那么说明Unity3D编译选项时选择的是IL2CPP,此时需要对lib目录下的so库进行保护。


3、保护完成后,对文件夹重新打包签名安装即可。