如果稍微关注过这方面知识的朋友,应该知道 Unity3D 做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会毫无遮掩的呈现出来
net 本身没什么加密的措施,所以我们一般都是使用混淆代码的方式来对程序进行一定的加密
接下来 2 篇博客,阿赵将会简单的讲一下我自己在 Unity3D 的程序加密做法
首先第一篇,我会简单的说明一下怎样在 Unity3D 里面使用 dll 动态链接库,然后第二篇会说明怎样对 dll 进行混淆
开 始 第 一篇的内容: 首先,我们需要新建一个类库项目,可以使用 Visual Studio或者 Monodevelop 来做
我这里是使用 vs2012 来创建: 选择好项目类型、写好项目名称
新生成的项目里面默认有一个 Clas s 1 类 可以通过在解决方案资源管理器里面进行重命名改成自己想要的类名,比如我这里改成了Math3D 然后写一个简单的静态方法在里面
这里我写了个最简单的加法(Add)
也可以不写静态方法,写出普通的 public 方法,用的时候 new 对象出来调用该方法也可以
这和正常的 C#编程没区别
写好之后,在资源管理器里面选择“生成”,那么在项目的 bin/debug 里面就会看到 dll文件,比如我这个额项目就是 AzhaoDll
dll 接下来在 Unity3D 里面创建你需要的项目,把刚才的 dll 文件随便放到项目的 Assets 文件夹里面
关于这个 dll 文件的存放位置,网上有些人说是必须放在插件文件夹里面,其实是不需要的,放在任意位置它都能被识别出来
当然,按照良好的项目路径习惯,我们建立一个专门放插件的文件夹来存放 dll 文件,也是合理的
然后在 Unity3D 里面创建一个 C#脚本,写一行简单的代码来调用我们刚才写的Math3D
Add 方法
这时会发现 Math3D