针对C#开发的dll插件,可使用VirboxProtector对dll加密防止代码反编译。

使用流程

1.找到mono.dll或者mono-2.0-bdwgc.dll

2.创建u3d程序目录,将dll放到目录里

3.将u3d程序目录拖入VirboxProtector加密

4.替换加密后的mono.dll及插件dll文件。


详细流程

1.找到mono.dll或者mono-2.0-bdwgc.dll

首先查找Unity编译器中mono.dll或mono-2.0-bdwgc.dll的位置。

mono.dll一般在.\Editor\Data\Mono\EmbedRuntime目录下。

mono-2.0-bdwgc.dll一般在.\Editor\Data\MonoBleedingEdge\EmbedRuntime

2.创建U3D程序目录

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

1)将mono-2.0-bdwgc.dll放入bin\MonoBleedingEdge\EmbedRuntime\目录下;

2)将dll插件(比如demo.dll)放入到bin\data\Managed目录下;

3.将bin目录拖入到加壳工具中。

进入到加密选项,点击添加程序集。


添加成功后,将多余的程序集给删除掉,保留自己的插件dll。

点击“保护选择项目”,进行加壳,加壳成功后会生成ssp.bin。


4.替换mono.dll及dll

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