高版本游戏闪退怎么办?我拿7.6.0破解版进行了测试。 首先是找不同,对比下载一辆车前后的游戏数据,找差异(DS工具干这活真方便)。 最可疑的是图里这个文件。 打开分析,发现明显的格式:12字节固定文件头+换行+【文件名+tab+MD5+换行】 进一步观察,这两个数据来自apk内res的zip包。稍加核实,确认无误。 让DS帮我写脚本进行拼接替换: 替换后效果: 可以看到RR3在仅有基础内容(约600MB)的情况下,认为自己已下载全部文件。尝试进入比赛,游戏不再下载,而是直接闪退(因为缺少文件)。 清除全部数据,取消初次下载后直接替换: 游戏不再要求下载,但进到火猴界面后卡死闪退(意料之中)。 遇到的主要问题:有个asset_list_updates.txt文件不知道来源。 另一个问题:我运行高版本会闪退,手机和模拟器都一样,因此无法验证高版本是否沿用相同逻辑(虽然大概率没变)。 其他发现:手机包体差异主要来自贴图格式。我们已经成功骗过RR3的下载进度检测,理论上写个程序批量转换贴图即可。其中etc编码的透明处理稍麻烦,但园友 @岛村田子 下载的刚好是etc格式,正好省事了。 接下来我打算给MuMu模拟器转一份dxt格式的全包,验证这个方法的可行性。 已知的数据格式: .z:使用zlib库,压缩级别为9。 .z.bin:由多个.z拼接而成,主体格式为多个uint32文件大小+实际数据。 atc, etc, dxt:都是特定的dds编码格式,现在网上资料很多。 ptc.pvr:这是IOS的格式,不管那么多,编码时全部按rgb.pvr处理,反正游戏能读取(最早一批给车换涂装就是这么做的,缺点是占用存储空间较大)。














换一换 






























