【Arcaea/逆向】格式解析-手记一
阅前说明:本文所写内容已经根本触犯了Lowiro Limited的核心利益,内容仅供学习交流,如果跟随本文所写内容操作,您需要对自己的行为导致的任何后果负责!
*本文不提供文中的逆向后资源,逆向前资源,逆向工具。
*由于基于原文章修改,专栏设定无法更改,在此声明本文完全原创!
安装包设备:Android

1.解包及包内资源分析
2.资源替换方式
3.mo文件文本修改
4.songlist文件格式解析
5.packlist文件格式解析
6.unlocks文件格式解析

>1.解包及包内资源分析
解包部分:
可以直接使用压缩软件(Bandizip、7-Zip等)解压apk文件。

assets:游戏使用的素材集,无加密
lib:游戏使用的so,分arm64-v8a与armeabi-v7a两类架构
META-INF:安装包使用的签名文件
res:资源文件,包含着安装包图标等等文件
assets解析:

app-data:故事剧情文件,也包含了“视觉小说”类型的故事中使用的贴图文件
audio:音效与音乐,触发Axium Crisis与Ether Strike的异象时的附加音频也被存放于此
char:搭档的立绘与图标,部分异象贴图文件也被存放于此
Fonts:字体文件
img:贴图文件(内部文件什么都有,非常乱)
layouts:部分贴图文件,其中含有废弃,旧版以及重复的贴图文件
models:键型模型(疑似arctap,含有trackbreak的文件)
particle:打击效果贴图
songs:配置的曲目,曲包,解锁条件,以及曲目的曲绘,曲包的封面
startup:开始界面的贴图
tl:多语言文件
voice:搭档语音文件(仅Groove Coaster搭档出现)
white.png:客户端的预留文件
Fonts文件夹解析:

Exo:通用字体,使用于分数,曲包名等
GeosansLight:通用字体,使用于用户名,主界面按钮文字等
Kazesawa:通用字体,使用于曲目标题,曲师等
L2:英文专用字体(也许)
NanumBarunGothic:韩文专用字体
NotoSansCJKsc:简体中文专用字体
NotoSansCJKtc:繁体中文专用字体
songs文件夹解析:

songlist:曲目的配置文件,存放着曲目名,曲目难度信息等
packlist:曲包的配置文件,存放着曲包名,曲包介绍信息等
unlocks:曲目的解锁条件配置,存放着各个曲目的解锁条件
tutorial:教程的曲目文件
pack:曲包的封面图片文件
random:随机曲目的曲绘
dl_******:付费曲目使用的曲目文件(arcahv除外)
******:免费曲目使用的曲目文件

>2.资源替换方式
贴图的修改没有任何校验,直接找到自己想要替换的图片文件,将自己要替换的文件改写为同名删除原文件即可
要注意以下两点:
要替换贴图的时候前后图片尺寸、格式都须相同,否则客户端显示时图片会出现错位情况。
请确保所有游戏需要使用的贴图文件存在,否则会在读取时崩溃

>3.mo文件文本修改
游戏的多语言文件全部存于tl文件夹内,编译格式为.mo,修改时,我们可以用Poedit修改
但是Poedit是无法直接读取tl文件中编译后的.mo文件,需要将其转化为.po文件才可被Poedit读取编辑
进入Poedit安装文件夹内的\GettextTools\bin\文件夹内,找到msgunfmt.exe
使用cmd等输入命令使.mo文件转化为.po文件,然后用Poedit打开修改即可(\n为换行符)
修改完成后保存,再次转到\GettextTools\bin\文件夹内,找到msgfmt.exe使用命令将.po文件转化为.mo文件后即可更名使用。

songlist文件格式分析
我相信你们都是奔着这个来的,不是吗?

packlist格式解析

unlocks格式解析

总算是整理完这个烂摊子了,关于后面三个格式解析,我之前就写好了,只是现在搬出来而已
也看看这个:地图格式解析

