弱鸡娱乐网 · 免费提供绿色软件、活动线报以及其他网络资源,好货不私藏!

【手游破解】【技术教程】一次关于Uniy导出混淆的分析

zhangzhyu 安卓软件

导语:不提供任何工具,仅做思路分享。所以本教程你必须具备一定的工具自写的基础

部分游戏加固,会对主逻辑库进行混淆。当导出表混淆后,大部分情况下我们的自更会失效(基于导出函数的寻址),所有api基本消失如下方可见:

常规dump也会失效,如果单纯dat加密so不加密,难度不高问题便在于双加密涉及到动静两态的hook

为此我们基础工具准备了:ida、frida-il2cpp-bridge

根据相关资料、以及对unity源码的了解我们可以知道unityso和il2cpp导出api之间的联系。在ida中通过方法字符串定位unityso中的字符串交叉引用,可以获取到对应的方法指针 他们的关系公式大概为

设unityso基址为a,cpp基址为b,Unity指针地址为c,所求api地址为x。

即x=(a+c).指针–cpp基址

地址获取已知,但是总共几百个api手动获取到明年吗[滑稽]所以可通过Python写下ida脚本:字符串定位、交叉引用、指针反查获取到所有的指针地址。

然后根据我们上面的公式通过Frida获取到真实的所有地址。

frida-il2cpp-bridge中的寻址方法更改为匹配我们frida输出结果

再次运行frida-il2cpp-bridge开dump,就可以输出对应的cs文件。

当然由于我们已经具备了该游戏的api,frida-il2cpp-bridge的相关功能也都可以使用自吐转存dll、hook等等都可以

欢迎对游戏安全对抗方面有自己见解的兄弟,来进行交流。

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

评论列表
请自觉遵守互联网相关的政策法规,严禁发布广告、色情、暴力、反动的言论。
  • 点击我更换图片
  • 全部评论(0
    还没有评论,快来抢沙发吧!