欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Unity3D脚本程序反编译研究与加密

来源:本站整理 作者:佚名 时间:2017-10-19 TAG: 我要投稿

对付应用 Unity3D 开辟的法式,存在被反编译的危险,也面对着被 dump 内存的威逼,终极惹起游戏或工程被剽窃乃至盗版。 上面简略先容对Unity3D 剧本阐发进程,同时供给了对其掩护的参考手腕。
对象集
dnSpy、Ollydbg、Cheat Engine
配景
人人都晓得 Unity3D 应用开源 mono C# 语法 ,统统代码都不是编译到 EXE,而是位于 {APP}uildgame_DataManagedAssembly-CSharp.dll (对付最新的 Unity3D 2017 不是如许),并且 mono 语法只是跟 C# 兼容,然则道理完整不一样,传统的 C# 加壳全体生效,由于 Assembly-CSharp.dll 不是尺度的 DLL 加载进程,既不是 PE 的 DLL,也不是 dotNet 的 DLL 加载,而是由 mono.dll 读取 Assembly-CSharp.dll 的 C# 剧本说明履行。这统统不消等民间 IL2CPP 或本身定制 mono 引擎!
反编译
反编译 Unity3D 的剧本代码,应用 dnSpy 就能够到达很好的后果,dnSpy 能够精确的将 Unity3D 的剧本文件和尺度的 DotNet 动态库文件反编译成源码情势。一样平常,将必要被反编译的文件拖入 dnSpy 对象便可。后果以下,此中能够完备的看到编码者的代码逻辑:

截图民间demo被反编译
依据反编译后的代码就能够进一步阐发软件的流程走向,乃至窜改原有进程,详细不做描写。
若何对剧本代码停止掩护?
对付这类剧本代码的掩护,平日采纳剧本文件加密,说明器解密的情势来完成加密计划,上面简略先容下能够针对这类剧本停止掩护的现成产物:Virbox Protector、Virbox AHS。
Virbox Protector、Virbox AHS 分离能够避免动态阐发、动态调试 Unity3D 的软件产物,具备以下特征:
1.一键加密你的代码逻辑,无奈反编译,无奈 dump 内存。
2.不低落游戏帧数, 乃至某些情况下还能进步游戏帧数。
3.Assembly.DLL 代码按需解密,只有调用到才会在内存解密,不调用不解密,黑客无奈一次解出统统的代码。
4.完备受权计划,支撑云受权、软锁受权,USB 加密锁受权、收集锁受权,支撑限定光阴、限定次数、限定收集并发。
5.自带反黑引擎,驱动级别反调试,对大部分调试器有用。
(留意:假如必要最高网安强度的游戏反外挂,请参考反黑引擎 )
应用加密对象先后比拟
1.dnspy 反编译被加壳的成果:

加壳前

加壳后
阐发:从对比的成果看到许多代码信息曾经丧失,再次停止阐发时也会有很大艰苦。
2.PC 上的 X64Dbg 和 OllyDbg 调试失败与附加失败


阐发:Virbox AHS 供给的这类针对动态调试的掩护计划在及时阐发法式时会起到明显的感化。
3.Cheat-Engine 读取内存失败(必要新的反黑引擎支撑)

阐发:经由过程对原法式内存数据的掩护,想应用改动数据a的情势来停止舞弊的歹意行动也会被拒之门外。
典范客户场景
1.Unity3D 游戏客户街机游戏
2.VR 装备交互体验
3.机械/医疗/产业/航天等 VR 交互

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载