查看安装包内的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出来就行