游客
【初夏原创】【技术教程】一次关于Uniy导出混淆的分析

【初夏原创】【技术教程】一次关于Uniy导出混淆的分析

一言准备中...

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

部分游戏加固,会对主逻辑库进行混淆。当导出表混淆后,大部分情况下我们的自更会失效(基于导出函数的寻址),所有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等等都可以

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

  • 本文作者:Naive
  • 本文链接: https://www.starringx.cn/post-32113.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
0
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
3.2W+
5
0
6
安静的做,成功了说。

【初夏原创】【技术教程】一次关于国外加固liapp的分析

上一篇

【技术教程】番茄免费小说解锁会员教程🔥支持安卓15

下一篇
评论区
内容为空

这一切,似未曾拥有