迅速公众平台-上海小程序开发专家迅速网络

关注迅速公众平台

迅速公众平台-上海小程序开发专家迅速网络

关注微信联系人

企业电话:021-64391578


商务联系:18717819904 林经理

[技术分享]Unity3D程序脚本反编译分析与加密


前言: 在Unity3D的开发过程中,使用开源的Mono C#语法进行编程,存在被反编译和被内存dump的风险。这可能导致游戏或工程被抄袭甚至盗版。下面将介绍对Unity3D脚本的分析过程,并提供了相应的保护措施。 工具集: - dnSpy、Ollydbg、Cheat Engine 背景: 众所周知,Unity3D使用开源的Mono C#语法,所有的代码不是被编译到EXE文件中,而是位于{小程序开发}uildgame_DataManagedAssembly-CSharp.dll中(对于最新的Unity3D 2017并非如此)。而且Mono语法与传统的C#加壳完全失效,因为Assembly-CSharp.dll不是标准的DLL加载过程,既不是PE的DLL,也不是dotNet的DLL加载,而是由mono.dll读取Assembly-CSharp.dll的C#脚本解释执行。这一切无需等待官方IL2CPP或自己定制mono引擎! 反编译: - 反编译Unity3D的脚本代码,可以使用dnSpy工具达到很好的效果,dnSpy可以准确地将Unity3D的脚本文件以及标准的DotNet动态库文件反编译成源码形式。通常,将需要被反编译的文件拖入dnSpy工具即可。效果如下,其中可以完整的看到编码者的代码逻辑: ```

``` 如何对脚本代码进行保护? 对于这种脚本代码的保护,通常采用脚本文件加密,解释器解密的形式来实现加密方案。下面简单介绍下可以针对这种脚本进行保护的现成产品:Virbox Protector、Virbox AHS。 Virbox Protector、Virbox AHS分别可以防止静态分析、动态调试Unity3D的软件产品,具有如下特性: 1.一键加密你的代码逻辑,无法反编译,无法dump内存。
2.不降低游戏帧数,甚至某些情况下还能提高游戏帧数。
3.只有调用到才会在内存解密,不调用不解密,黑客无法一次解出所有的代码。
4.完整授权方案,支持云授权、软锁授权,USB加密锁授权、网络锁授权,支持限制时间、限制次数、限制网络并发。
5.自带反黑引擎,驱动级别反调试,对大部分调试器有效。 注意:如果需要最高安全强度的游戏反外挂,请参考反黑引擎。 加壳前: - 对比的结果看到很多代码信息已经丢失,再次进行分析时也会有很大困难。 加壳后: - X64Dbg和OllyDbg调试失败与附加失败
- Cheat-Engine读取内存失败(需要新的反黑引擎支持)
相关推荐
Swift - 使用UserDefaults来进行本地数据存储
新规阻碍,互联网金融+监管制度:与时俱进
网站开发中如何让响应式网站帮您改善业务
SEO小技巧:2020年的正确优化方式是什么?
上海商城制作公司哪家好?

特别申明:本站的主旨在于收集互联网运营相关的干货知识,给运营小伙伴提供便利。 网站所收集到的公开内容均来自于互联网或用户投稿,并不代表本站认同其观点, 也不对网站内容的真实性负责,如有侵权,请联系站长删除

业务联系

迅速服务号
扫码添加微信好友
我们来联系您