另类的global-metadata.dat解密思路,以[XX方舟]为例子

查看 68|回复 9
作者:63178249   
游戏版本是taptap上下的最新版
查看安装包内的global-metadata.dat文件,很明显是加密了的


屏幕截图 2023-02-21 091521.png (45.26 KB, 下载次数: 0)
下载附件
2023-2-21 09:19 上传

尝试使用各位大佬的一键dump工具  失败
猜测可能是对dat文件的特征进行了隐藏
这里我们换一种思路进行手动dump
首先确定XX方舟的unity版本 2017.4.39f1
找到对应版本的il2cpp的源码
通过阅读源码得知 metadata文件会通过下面这条函数加载到内存中


屏幕截图 2023-02-21 092447.png (88.55 KB, 下载次数: 0)
下载附件
2023-2-21 09:25 上传

那么思路就很清晰了 只要在内存中找到s_GlobalMetadataHeader即可
首先把游戏的so拖到ida中
等so加载好后使用shift+f12打开字符串界面 搜索global-metadata.dat
找到后双击跳转,按X查看引用


屏幕截图 2023-02-21 093118.png (53.17 KB, 下载次数: 0)
下载附件
2023-2-21 09:31 上传

可以看到只有一条函数 我们跳转过去查看伪代码


屏幕截图 2023-02-21 093310.png (42.91 KB, 下载次数: 0)
下载附件
2023-2-21 09:33 上传

通过对比源码,很轻松的就能看出来 off_70B2F90就是s_GlobalMetadataHeader
在内存中跳转到off_70B2F90再进行一次指针跳转就拿到了global-metadata.dat文件
我们把它dump下来看看


屏幕截图 2023-02-21 094031.png (25.96 KB, 下载次数: 0)
下载附件
2023-2-21 09:40 上传

果然 AF 1B B1 FA的特征被改成了00 00 00 00
我们将文件头手动修改然后尝试使用il2cppdumper


屏幕截图 2023-02-21 094528.png (17.27 KB, 下载次数: 0)
下载附件
2023-2-21 09:45 上传

成功
注:这个游戏的so也是加密的 从内存里dump出来就行

下载次数, 截图

63178249
OP
  


BFZWQ 发表于 2023-2-21 12:20
有的可以直接用模块dump,不过即使dump出来了,一改so也进不去,不知道是啥原因,不止这一个游戏,我遇到的 ...

XX方舟使用了腾讯的tp保护,会对il2cpp.so的md5进行校验
898522783   

牛,多少年没看到有xx方舟的例子了。
63178249
OP
  

用这个也不可以吗?
https://github.com/Perfare/Zygisk-Il2CppDumper
劝你别追摩羯座   


正己 发表于 2023-2-21 10:45
用这个也不可以吗?
https://github.com/Perfare/Zygisk-Il2CppDumper

这个动态dump出来的东西比普通dump出来的少很多,比如结构体文件,ida分析脚本之类的
BFZWQ   

牛啊 这个例子可以
BFZWQ   

有的可以直接用模块dump,不过即使dump出来了,一改so也进不去,不知道是啥原因,不止这一个游戏,我遇到的加密的几乎都对so进行了防修改检测。
不知道是不是so加密的原因,在这问一下大佬怎么从从内存dump so
第一品霄   


63178249 发表于 2023-2-21 12:21
XX方舟使用了腾讯的tp保护,会对il2cpp.so的md5进行校验

噢,好吧,这种我就不会了,大佬有时间可以看看猫咪和汤这个游戏,谷歌的应该不会用腾讯的吧
谢谢大佬的解答
莫问刀   

学习一下了
63178249
OP
  

点赞收藏啦
您需要登录后才可以回帖 登录 | 立即注册

返回顶部