Arcaea 4.5.1 逆向(iOS)
免责声明:自制相关内容涉及 Lowiro 的利益。本文内容仅用于个人逆向技术研究与学习,作者不承担该文所带来的一切附属责任。请勿将此文内容用于商业或者非法用途,继续阅读代表您会为自己的全部行为负责。
本文不提供 IDA反汇编软件 以及 逆向资源
作者只有安卓设备,iOS端是用MacBook PlayCover侧载测试的,与iOS端相比可能有点出入

目录
修改游戏内文字
曲包锁
去除hash保护
解锁byd
scenecontrol生效
解锁背景、解决非免费曲包无法Start
修改曲包分类竖条位置

修改游戏内文字
使用msgunfmt将mo转换成po
msgunfmt [mo文件] -o [po文件]

打开po文件即可更改

曲包锁
按下Shift+F12进入String窗口,搜索lock_icon
双击进入 Xerf(按下X) 跳转第一个,按下Tab查看伪代码
在lock_icon的位置往下一点点找到这个

对 v139 Xerf , 跳转第一个,双击进入sub
把最下面的return改为1


去除hash保护
在左侧Functions窗口搜索_exit,双击打开

对_exit Xerf,一般是进第二个
大概有8个箭头左右
点击左上角这个图标

有一半是B.NE,一半是CBNZ的,挨个点进去把它们全部NOP掉
具体可见安卓篇

解锁byd
在IDA view-A界面,点击菜单栏 Search - Text 搜索 dl_ (第一个)
找到内容为"dl_"的,双击进入

往下一点点看到有CMP为#3的就是要改的,改为#47

在Strings窗口搜索 world_unlock (第二个)
双击 Xerf 看 Address 最多sub的那个ADRL点开

也是CMP改成#47
在Strings窗口搜索 You no longer 双击 Xerf (第三个)
往上翻一点 CMP #3改成 #47

在Strings窗口搜索 start.png (第四个)
双击 Xerf

CMP #3 改成 #47

screencontrol生效
在IDA view-A界面,点击菜单栏 Search - Immediate value 搜索 264(解锁镜头控制)
按Instruction排序,找到LDRB

把所有LDRB都点开看看,后面隔一个或者跟着CBZ的,就把CBZ NOP掉
同时去伪代码看有没有如下结构的,把a2 == 2改成4(启用绿蛇,只有一个)

透明轨道和红线不会改(

解锁背景、解决非免费曲包无法Start
在Strings窗口搜索 This song is available by progressing through World Mode
双击进入,Xerf跳转到第二个

进入伪代码翻到顶上,找到这个sub,Xerf 进第二个

找到如下结构

把return改为 1即可

修改曲包分类竖条位置
在Strings窗口搜索 divider_collab
双击 Xerf 进入任意一个
在伪代码往上找到 divider_free 的 if
把if nop掉
查看此处的汇编


第一个的 CMP 改成 W25, #[Free竖条前曲包的数量]
(注意:修改此项后 Story竖条会消失)
后面的 CCMP 则是 SideStory、Collab 竖条的位置
更改W8即可
更改后 回到伪代码
把 SideStory 和 Collab 的 if 条件改成跟前面那两个条件一样

都是更改CMP的值
