Unity3D-重新编译Mono加密DLL

来源:互联网 发布:手机语音拨号软件 编辑:程序博客网 时间:2024/06/04 18:50

Unity3D-重新编译Mono加密DLL。安卓应用总是让人头疼,游戏遭到破解与反编译是研发的人最不愿意看到的。自己的辛苦劳动成果被人随意窃取与利用,对这些咬牙切齿的痛恨。所以我们需要加强自身的反破解技术力量。不过这世上没有破解不了的东西,道高一尺魔高一丈,我们做的只是让破解更加困难而已。让那些破解的人付出点代价才能得到他们想要的,如果他们觉得代价太高,看不清前面的道路,他们就有可能放弃,然后我们的目的达到了。

游戏本身加密方式有很多,对apk加壳,防止apk二次打包等。对这些android的加密与破解技术看过比较好的文章参考:《Android安全及病毒分析》 ,其中《Android APK加壳技术方案【2】》最为经典。而本篇文章我们主要来说说针对Unity3D的加密。

闲扯就到这里,我们开始说正事:

Unity3D所有客户端的代码都会以dll文件形式存下来,当游戏应用被开启时c#vm(也就是mono的虚拟机)会去加载所有dll,从而开始运行真正的程序画面了。而破解的很大一部分都是通过解压apk后拿到主逻辑dll,对dll进行反编译,然后修改后重新编译,再放入apk重新签名打包。所以我们需要针对dll进行加密,以防止他们反编译dll。

加密一个dll文件非常容易,无论你用什么算法都行,但是在哪解密呢?答案是libmono.so。libmono.so是mono的核心程序,它承载了加载解析dll和虚拟机运行的功能。所以说libmono.so是关键,我们需要修改mono内核程序并重新编译它。

下面将开始mono的编译过程,别看步骤写得简单明了,其实我花了起码一个多星期的思考,尝试,失败,再思考,再尝试,再失败…..总结其中原因一�

http://www.luzexi.com/unity3d-重新编译mono加密dll/

0 0
原创粉丝点击