unity生成的程序用什么反编译工具 程序脚本反编译分析与加密
对于使用 Unity3D 开发的程序,存在被反编译的风险,也面临着被 dump 内存的威胁,最终引起游戏或工程被抄袭甚至盗版。 下面简单介绍对Unity3D 脚本分析过程,同时提供了对其保护的参考手段。
工具集dnSpy、Ollydbg、Cheat Engine
背景大家都知道 Unity3D 使用开源 mono C# 语法 ,所有代码都不是编译到 EXE,而是位于 {APP}\build\game_Data\Managed\Assembly-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被反编译
加壳前
加壳后
分析:从对比的结果看到很多代码信息已经丢失,再次进行分析时也会有很大困难。
2.PC 上的 X64Dbg 和 OllyDbg 调试失败与附加失败
分析:Virbox AHS 提供的这种针对动态调试的保护方案在实时分析程序时会起到显著的作用。
3.Cheat-Engine 读取内存失败(需要新的反黑引擎支持)
分析:通过对原程序内存数据的保护,想使用修改数据的形式来进行作弊的恶意行为也会被拒之门外。
典型客户场景1.Unity3D 游戏客户街机游戏
2.VR 设备交互体验
3.机器/医疗/工业/航天等 VR 交互
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com