立即注册,突破游客限制,与技术大牛交流切磋,畅享海量资源,让你的技术之路不再孤单!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一,前言研究仅供学习交流,如有侵权请联系删除目前主流dump分下列这二种:1, 提取游戏metadata和il2cpp 之后使用Il2cppDumper进行Dump2, 使用zygisk-Dumper 进行动态Dump但是前者大多游戏都有对metadata 与 il2cpp.so 进行加密后者由于是透过符号查找il2cppAPI进行动态dump但有的游戏会隐藏或加密导致获取不到il2cppAPI这款游戏都没有办法使用上面两种直接Dump
二,分析使用静态Dump发现失败了! 但好像可以更改il2cppDump去修复(但我打算使用动态Dump)
之后我使用动态Dump发现也同样Dump不出来
只能去看看他的SO了
我先使用readelf查看符号,发现并没有Dump需要的il2cppAPI符号 那我们把il2cpp拖入IDA看看怎么了
跑完SO直接Shift+F12查看字串 搜索il2cpp_domain_get会发现有函数用到直接进去F5!! 三,查找Il2cppAPI函数
我们发现他把字串赋值给v0 v0+1是一个函数
我就猜这个函数就是API了
我们直接查看其他游戏的API函数内部实现去对比
我们发现除了函数名不一样其他大致一样
至此我们就找到il2cppAPI了
剩下就写个工具把需要的API提取出来就可以了
四,Dump找到API就轻松了,可以修改Zygisk-Dumper源码
或者使用Frida-Dump
这里我使用大佬的frida脚本进行Dump(还可以dump某盾) 五,总结这次逆向算比较简单的,对SO的加固没有很强(残血)
也没有对字串进行处里IDA(搜索就找到了)
API拿到也能直接用
所以总得来说也是很容易的
这是一个比较笨拙的方法但胜在简单
也有比这更好的方法
|