Switch的NAND或者虚拟系统的EMUNAND文件,解密其中的存档操作起来有些麻烦,但最近有访客留言提及,考虑到国内目前没有太详细的教程,索性便整理一篇好了。
如您从本文得到了有价值的信息或帮助,请考虑扫描文末的二维码对我进行捐赠和鼓励。
- 首要条件,需要有本机密钥,如果没有的话,参考教程:Switch 使用Lockpick备份密钥的方法
- 第一步中的prod.keys或你通过其他方式备份的密钥,放到桌面备用,后面解密时会用到。
下载所需工具(解压密码:shipengliang):HacDiskMount+存档解密工具.rar
看广告高速下载:HacDiskMount+存档解密工具.rar
如遇文件损坏或密码错误,可参考修复教程:WinRAR如何修复受损的压缩文件
- 将上一步下载的压缩包,放到C盘(教程图片以E盘为例),右键压缩包,解压到当前文件夹:
- 将你要解密的nand或者emunand文件夹也放置到C盘中,全部文件就准备妥当了,如下图:
- 右键HacDiskMount,选择以管理员身份运行启动程序,点击File->Open file。
找到你的nand、emunand或其他方式备份的系统文件,点打开:
注意,虚拟系统文件,只需要打开00的文件,后面01、02这种的系统分片文件程序会自动载入,不需要挨个载入。
隐藏分区的话,直接打开你的TF卡盘符。
- 如果文件没有损坏,则会显示出分区列表,划到最底部,双击USER:
- 用记事本打开你的密钥文件,比如第一步中的prod.keys(不同备份方式内容结构有些许差别),主要关注点在:bis_key_03,这个字段。
这个字段,常见的情况为一串64位字符串:bis_key_03 = 17efxxxxxxxxxxxxxxxxxxxxxxxxxx830030xxxxxxxxxxxxxxxxxxxxxxxxxx52
前32位为Crypto,后32位为Tweak
如使用biskeydump,则可以直接得到类似如下字符串,省的自己拆分:
BIS KEY 3 (crypt): 17EFXXXXXXXXXXXXXXXXXXXXXXXXXX83
BIS KEY 3 (tweak): 0030XXXXXXXXXXXXXXXXXXXXXXXXXX52 - 将上一步得到的密钥,填入工具,点击Test核对密钥正确性。
- 如果密钥检测通过,则点击Install按钮安装必要的挂载盘符所需驱动。驱动安装仅需执行一次。
- 耐心等待驱动安装结束,点击Mount,挂载用户分区到本机。
- 耐心等待挂载完成,此时,计算机会出现A盘符。
- 进入A盘符,复制save文件夹。
- 将save文件夹,粘贴到C盘存档解密工具文件夹中:
- 复制结束后,双击run.bat进行存档解密(脚本会自动运行hactoolnet.exe)。
- 解密命令执行完毕后,即可在out文件夹中得到解密后的存档。
至此,解密NAND或虚拟系统文件中的存档操作完成。但你也会发现解密出来的存档文件夹根本不是游戏ID,你是没办法对应到游戏的。
那么问题来了,如何对应到游戏呢?
这里提供一个思路:
- 首先,下载一份对应游戏的存档,这样你就明白这个游戏存档实际文件的命名和目录结构。
- 然后使用搜索,搜索对应存档文件名,即可在众多解密存档中,定位到解密后的目标存档。
- 然后覆盖到下载的存档目录中,使用对应工具即可还原存档。
如您从本文得到了有价值的信息或帮助,请考虑扫描文末的二维码对我进行捐赠和鼓励。
相关GitHub和参考资料
https://github.com/Thealexbarney/LibHac/releases
Extract save from NAND backup
本站资源,请 注册城通账户 后,使用客户端下载,参考教程:城通网盘如何使用客户端下载文件。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
第14步 进入A盘符, 咋是乱码文件夹,双击显示
无法访问A:(乱码)
文件名、目录名或卷标语法不正确
按部就班操作后,部分save数据没能提取成功,打开控制台显示以下问题:
C:\存档解密工具>hactoolnet.exe -k prod.keys -t save “save/0000000000000030” –outdir “out/0000000000000030”
Failed to match key device_key_4x
Failed to match key eticket_rsa_kek_source
Failed to match key eticket_rsa_kekek_source
Failed to match key rsa_oaep_kek_generation_source
Failed to match key rsa_private_kek_generation_source
Failed to match key save_mac_key
Failed to match key ssl_rsa_kek_source_x
Failed to match key ssl_rsa_kek_source_y
ERROR: ResultFsJournalIntegritySaveDataControlAreaVerificationFailed (2002-4315): Savedata header is not valid.
Additional information:
at LibHac.ThrowHelper.ThrowResult(Result, String) + 0x33
at LibHac.FsSystem.Save.SaveDataFileSystem..ctor(KeySet, IStorage, IntegrityCheckLevel, Boolean) + 0x37f
at hactoolnet.ProcessSave.Process(Context) + 0x21e
at hactoolnet.Program.Run(String[]) + 0x356
at hactoolnet.Program.Main(String[]) + 0x1a
这是什么原因呢请问大神
run.bat进行存档解密时,控制台会输出信息。如:
hactoolnet.exe -k prod.keys -t save “save/0000000000000067” –outdir “out/0000000000000067”
save:/SaveGameData6
Savefile:
CMAC Key Used: 8C23BB49523D0BFB1A97CBA082E9B979
CMAC Signature (GOOD): 4501768017FEC30E64BACCB562573E10
Title ID: 01006dc010326000
User ID: ab1a8674-3f83-1000-9d3f-55c7a08e6613
Save ID: 0000000000000000
Save Type: Account
Owner ID: 01006dc010326000
Timestamp: 2021-03-14 08:09:16 UTC
其中Title ID就是游戏ID。可以在命令行窗口,CD到run.bat目录中,用命令行运行批处理,则可以获得到全部输出,然后就可以对应了
博主你好,我是10.2的硬破,虚拟系统和真实系统版本一致,是因为进不去虚拟系统所以要尝试上文的方法。我的情况是除了full.00以外,其他的8个full文件全都打不开,想问一下这个是文件损坏了吗?
在不在不,为什么我照着做之后,save文件夹是空的,解密之后的out文件夹也是空的
首先非常感谢,根据blog教程已经找回了一些存档并恢复,如健身环大冒险、哈迪斯。
但有些存档执行解密批处理文件后,在out文件夹内没有生成,如塞尔达(非常痛心),还请不吝赐教,非常感谢!我在微信捐赠里留言和放了截图,请拨冗指导!不胜感激!
正版switch可以通过该方式导出存档并修改再导入回去吗?如果不行,请问有什么方法可以只用一台不能破解的正版switch进行存档修改?我看有人说可以不破解就可以通过RCM模式修改存档?万分感谢并期待解答!