tags: [Arcaea] title: 解包 Arcaea_NS last_modified_at: 2023-3-18 slug: arcaea-ns-depack redirect_from:
(点我下载)
不提供Arcaea的游戏文件
运行解包工具整合版.bat
,按你的Arcaea文件格式选择2/3,然后选1,然后将nsp/xci文件拖曳到窗口内,等待程序运行
Q:为什么会报
[WARN]: Failed to match key
?A:无视即可
当程序提示Done!
时,恭喜!你已经完成了第一步
此时,NCA-NSP-XCI_TO extract
文件夹内应该会出现一个叫Extracted_NSP
或Extracted_XCI
的文件夹,我们只需要保留最大的NCA文件(我这里是a6128a36c6364c5d240f50961b55a774.nca
)以及唯一的TIK文件(我这里是0100e680149dc000000000000000000b.tik
),其它文件可以删除
<del><small>吐槽几句,这一步是我卡的最久的,原因是没有使用.tik文件</small></del>
再次运行解包工具整合版.bat
,选择1(选择NCA文件
),然后选择2(提取加密的NCA文件
),再选2(转换为 Romfs 文件夹
),然后把上一步得到的那两个文件依次拖入
此时,NCA-NSP-XCI_TO extract
文件夹内会出现一个叫Extracted_NCA
的文件夹,此文件夹内的romfs
文件夹内会有两个文件,分别是arc.json
和arc.pack
UPDATE: DLC的话可能是arc_x.json
和arc_x.pack
,此时你要分别看每个json文件是不是乱码,如果是就把对应的json和pack文件都删掉,把所留下的不是乱码的文件分别执行下一步(可能执行多次)
这个存储方式很有意思,大概讲讲技术原理:
arc.json
中的Groups
存储着很多个分类,每个分类的OrderedEntries
存储着分类中的每个文件在arc.pack
中的开始位置(Offset
)和长度(Length
)(均以字节为单位)
我们需要做的,就是从arc.pack
中的[Offset,Offset+Length)处提取文件内容,然后存储至对应的OriginalFilename
具体实现嘛,自行看代码
用我的丑陋代码提取后,你会得到finally_result
目录,里面就是最终结果😀
WELCOME TO ARCAEA!