63178249 发表于 2023-2-21 09:46

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

游戏版本是taptap上下的最新版
查看安装包内的global-metadata.dat文件,很明显是加密了的


尝试使用各位大佬的一键dump工具失败
猜测可能是对dat文件的特征进行了隐藏

这里我们换一种思路进行手动dump
首先确定XX方舟的unity版本 2017.4.39f1
找到对应版本的il2cpp的源码
通过阅读源码得知 metadata文件会通过下面这条函数加载到内存中

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

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

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

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

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

63178249 发表于 2023-2-21 12:21

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

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

alabao 发表于 2024-2-26 23:50

此方案失效,求大佬跟新最新dump方案。

898522783 发表于 2023-2-21 10:05

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

正己 发表于 2023-2-21 10:45

用这个也不可以吗?
https://github.com/Perfare/Zygisk-Il2CppDumper

63178249 发表于 2023-2-21 10:47

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

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

劝你别追摩羯座 发表于 2023-2-21 11:58

{:1_921:}{:1_921:}{:1_921:}{:1_921:}牛啊 这个例子可以

BFZWQ 发表于 2023-2-21 12:20

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

BFZWQ 发表于 2023-2-21 12:25

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

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

debug_cat 发表于 2023-2-21 12:44

点赞收藏啦

laoda1228 发表于 2023-2-21 15:51

是不是明日呀,有源码 是不是能看出来?
页: [1] 2 3 4 5
查看完整版本: 另类的global-metadata.dat解密思路,以[XX方舟]为例子