Skip to main content

Unity3D调用Net dll插件加固

Virbox Protector 支持对 Unity3D 编译器的 dll 插件 的加密保护。加密后可防止 dll 文件被反编译。

操作流程#

加密流程概述:找到Unity3D编译器的 mono.dll 或者是 mono-2.0-bdwgc.dll,创建一个Unity3D程序目录,将mono文件 和 dll文件放到对应的目录里进行加固。加固完成后将加固后的mono和dll替换到Unity3D编译器。

mono.dll 位置:在.\Editor\Data\Mono\EmbedRuntime目录下

mono-2.0-bdwgc.dll 位置:在.\Editor\Data\MonoBleedingEdge\EmbedRuntime


加密流程#

1.创建Unity3D 程序目录#

创建一个假的Unity3d程序目录,目录和普通Unity3d程序目录结构一样,主要是为了加壳工具可以识别并成功加壳。以下为mono-2.0-bdwgc为例

demo.dll 是需要待加密的 dll插件,将dll插件放入到 NewUnity3D\data\Managed 目录下;

Assembly-csharp.dll 可以随意拷贝一个Unity3D程序的即可。

创建NewUnity3D 目录结构:

-NewUnity3D    --data        --Managed            Assembly-csharp.dll            demo.dll    --MonoBleedingEdge        --EmbedRuntime            mono-2.0-bdwgc.dll

image-20211215150951639

2.将 NewUnity3D目录 拖入Virbox Protector#

将 NewUnity3D 目录拖入 Virbox Protector 中

image-20211215151344716

3.设置加密选项#

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

在程序集设置处,点击 + ,勾选待加密的 demo.dll插件,点击确定。

image-20211215151743959

4.资源加密选项设置#

关闭资源加密的启用按钮

image-20211215160234892

5.点击保护选中项目#

点击【保护选中项目】,提示加壳成功,生成 ssp.NewUnity3D 目录

进入到ssp.NewUnity3D 目录下,将ssp.NewUnity3D \MonoBleedingEdge\EmbedRuntime下的mono-2.0-bdwgc.dll拷贝到Editor\Data\MonoBleedingEdge\EmbedRuntime目录下(原始文件备份),将ssp.NewUnity3D \data\Managed目录下的 demo.dll 放入到项目中即可