"一个很好的逆向入门的练习"
首先需要准备 IDA Pro 7.7 以及 Sideloadly v0.28 两个软件, 前者能帮助你魔改 ipa 内容, 后者能将 ipa 导入 ios 设备.
Hash 校验
这是逆向工程的第一步, 去掉 Hash 你就可以随意导入歌曲了.
IDA 打开 Arc-mobile, 在 Functions 栏搜索 _exit 函数, 选择该函数的第二个 xref 引用, 将指向该引用的地址内容 (6个) 全部替换为 NOP
Memory Archive 单曲
在 Strings 栏中搜索 checkAvaibleSingles, 将 xref 的内容换成 NOP, 这样单曲就解锁了
如果你想更改 Memory Archive 的封面, 自己设计一个图片然后去 layouts/songselect/ 换掉就好 (Fonts/ 里面有很多好看的字体可用)
Beyond 难度
在 Strings 栏中搜索 tempestissimo, 选择倒数第八个 xref 引用, 将 1F 0D 00 71 更改为 1F BD 00 71
在 Functions 栏的 6694 行找到 loc_1001DCA4C, 将 84 0A 43 7A 改成 84 0A 4A 7A
在 Strings 栏中搜索 You no longer have enough Fragments\nto, 将 BF 0E 00 71 改为 BF BE 00 71
在 Strings 栏找到 layouts/songselect/start.png, 3F 0D 00 71 改为 3F BD 00 71
这样所有歌曲的 Beyond 难度就可以正常游玩了.
Divider 曲包分隔符
在 Strings 栏中搜索 img/divider, 按 Tab 查看伪代码, 可通过调整 v274, v275 的值改变曲包分隔符的位置
如果你不想要分隔符, 将 BNE 改为 B 无条件跳转就行
Lock Icon 曲包锁
在 Strings 栏搜索 layouts/songselect/PackSelectCell.csb, 选择第一个 xref, 查看伪代码找到 lock_icon, 将 (v51 & 1) != 0 判断去掉 (将 TBNZ 改为 B)
我的 ipa: https://1drv.ms/u/s!ApwGPk7j2zkciTw2SAHub0DdVm0s?e=nzdH4H
(其中有一个谱面是自己制作的ww)
标签:00,ipa,Arcaea,栏中,v4.1,xref,71,Strings From: https://www.cnblogs.com/Arcticus/p/17036358.html