Unity游戏ET框架逆向 ILCPP游戏梦回大唐DLL加载流程与改造实操
前言
本次分享分析的依旧是简易ET框架样本,该框架支持通过动态下发DLL文件实现热更新。相较于动态Lua方案,开发者无需额外学习新语言,大幅降低开发门槛与适配成本。
工具
MT管理器(看版本号选最新版本) NP管理器(看版本号选最新版本) 梦回大唐(自行必应)教程
常规Dump后,我们发现大量关键方法,但这些方法并未存在于DLL中,对应地址也明显异常。既然可通过反射获取相关方法,便进一步深度挖掘源码核心逻辑。
全程跟踪Unity的DLL加载流程,我们理清了ET框架的核心机制及更新方式——经搜索确认,Assembly相关类是该流程的核心逻辑载体。值得注意的是,DLL中常规可见代码无实际价值,因此我们手动编写Hook脚本拦截DLL,导出关键源码展开分析。
成功定位关键方法在DLL的实现后,结合已知信息(该游戏为ILCPP架构),核心疑问迎刃而解:ILCPP游戏的关键方法为何落地DLL?答案正是ET框架的设计特性。

熟悉框架逻辑后,可直接解析SO文件的汇编指令。此前挖掘代码时随手编写的字节流脚本派上用场,借助其反查DLL加载链路,精准定位DLL的读取源头。
最终发现游戏加载了「code」资源包,断网测试验证游戏可正常启动,推测开发者未添加相关联网检测机制。结合Unity资源存储逻辑,我们在APK包中精准找到该资源。

后续操作极为简便:解包「梦回大唐」APK,修改目标DLL文件并替换,即可完成改造。本次逆向研究圆满结束。
浙公网安备 33010602011771号