level 12
bombra
楼主
作为一个数据控,看到现在游戏的数据都靠
氪金
大佬手工收集感到很别扭,于是想把数据解包出来。
【先声明:最后没成功,还差一步,求汇编大佬帮忙啊!
】
首先用 I
lsp
y 分析 Assembly-CSharp.dll 文件,可以发现数据保存在 Data/MasterParam 里,是个 JSON 文件。
但是游戏数据包里的文件都是一些名字是 hex 的文件,还需要进一步分析。
继续分析发现,所有数据文件的信息保存在 /new_apvr/ASSETLIST 里,解析出来找到了需要文件的位置:

这里重要的是文件 id,这里是 00D9A73F, 用 binaryReader 读成 Uint32, 再 ToString("8X") 便生成了一个长度为 8 的 hex 码,也就是对应数据包的名字。
00D9A73F 转化后是 49744fd6,在数据包里找到这个

结果发现是一个压缩文件,解压算法在游戏 libNativePlugin.so 里,只要找到解密函数就完成了,但是本人水平有限,反汇编出来完全看不懂,求大佬解救啊![[泪]](/static/emoticons/u6cea.png)
成功的话数据再也不用手工收集了
2017年08月13日 10点08分
1
氪金
大佬手工收集感到很别扭,于是想把数据解包出来。
【先声明:最后没成功,还差一步,求汇编大佬帮忙啊!
![[笑眼]](/static/emoticons/u7b11u773c.png)
首先用 I
lsp
y 分析 Assembly-CSharp.dll 文件,可以发现数据保存在 Data/MasterParam 里,是个 JSON 文件。
但是游戏数据包里的文件都是一些名字是 hex 的文件,还需要进一步分析。
继续分析发现,所有数据文件的信息保存在 /new_apvr/ASSETLIST 里,解析出来找到了需要文件的位置:


00D9A73F 转化后是 49744fd6,在数据包里找到这个


![[泪]](/static/emoticons/u6cea.png)
成功的话数据再也不用手工收集了
![[笑眼]](/static/emoticons/u7b11u773c.png)