目的:
- 对游戏的美术资源的存储方式进行逆向,解析后可以提取各种美术资源或者替换游戏中的某些资源。
- 基本都是出于兴趣和好奇性进行的工作。
研究细节:
- 部落冲突(COC)美术资源破解
- 把游戏文件从手机中导出后,很容易看出哪些文件是和美术资源有关的。
- 不过这个资源是压缩格式的数据+一些文件头。对文件头进行一些修改后,可以使用普通的解压工具将文件转换成明文格式。
- 提取图像信息
- 美术资源中一定会存储颜色值。颜色值排列在一起的的规律还是挺明显的
- 以4个为间隔,中间用FF相隔。或者是大段分布均匀的无00出现的数据段(不带alpha通道的格式)
- 如果是用PNG和其他有损格式存放的花可以通过分析一些压缩文件头来寻在图片。
- 不过COC就用最简单的带alpha通道的位图格式存储图像。所以基本靠肉眼就看出文件中哪些文职存储的图像。
- 而且整个文件就只有一张大图片。应该是为了减少渲染的batch,所以把各种物件,特效用的图都拼成了一张大图。
- 在颜色数据的边界上找到图像的尺寸等星系,很快就把这张大图提取出来了。
- 提取图像的附带信息
- 每个物件对应这张他图里面的哪个子区域应该也会存储在这个资源文件的某个地方
- 基于游戏的配置表中的各种ID,以及其他规律找到了每个物件,特效的图片对应的区域,这样就能把一张大的图,按照物件切成各种小图。
- 破解文件整体的格式