把 Switch 卡带镜像拆开看个明白:hactool 一条命令跑通全流程
【免费下载链接】hactoolhactool is a tool to view information about, decrypt, and extract common file formats for the Nintendo Switch, especially Nintendo Content Archives.项目地址: https://gitcode.com/gh_mirrors/ha/hactool
手里攥着一个 .xci,或者一个 NCA 文件,想翻翻里面到底装了什么?hactool 就是干这个的:一个命令行工具,专看 Switch 常见文件——能看结构、能解密密文内容、还能把里面的资源整包提出来。
它到底帮你干什么
别急着看功能清单,先想清楚你要干嘛,就三件事。
- 看结构:指向文件,它告诉你这是什么格式、分几段、元数据长什么样。不加动作参数时,默认就是这个行为。
- 解加密:加密过的 NCA / XCI 内容,配上密钥文件就能解开,还原出明文数据。
- 批量导出:一条提取命令,把整个卡带镜像里的分区、目录、资源全部摊到你指定的目录里。
先把它跑起来:克隆加编译只要两条命令
🛠️ 环境要求很轻:有 C 编译器和 make 就行。
拉代码、改配置、编译,一次搞定:
git clone https://gitcode.com/gh_mirrors/ha/hactool cd hactool cp config.mk.template config.mk && make小坑提醒:如果你的 make 不是 GNU make(BSD 系系统),把make换成gmake;Windows 上建议用 MinGW 跑。
编译完执行./hactool --help,能打出选项列表,就说明跑通了。
第一次跑通:一条命令导出 XCI 全部资源
跑通了就能开工。分两步走。
先只看不动:
./hactool -k prod.keys -i game.nca-i是看信息。不加-k会怎样?hactool 会自己去找~/.switch/prod.keys,找不到就报密钥缺失;加上-k直接指定密钥文件路径,一步到位。
再整包提取:
./hactool -k prod.keys -x game.xci --outdir extracted-x是提取动作,--outdir决定东西往哪放。不加它会直接堆到当前目录,文件一多你就得挨个搬家了。
翻车了?三招修好密钥和输出目录
遇到问题别慌,基本都逃不出这三种。
现象:提示密钥找不到,或者解出来的全是乱码。原因:-k后面的路径没指对。解决:换成绝对路径再跑,比如./hactool -k /home/你的用户名/keys/prod.keys -i game.nca。
现象:跑完发现当前目录被塞了一堆文件。原因:漏了--outdir。解决:命令末尾加上--outdir extracted,资源就会乖乖进文件夹。
现象:make 直接报错退出。原因:编译器或 make 版本不对。解决:确认装了 gcc 和 GNU make,BSD 系用gmake代替。
想再往深处挖
如果你对"加密到底是怎么解的"好奇,可以翻一下根目录的nca.c和aes.c,NCA 的解密链路写得挺直白。再往下追 AES、SHA 这些算法本身怎么实现的,去mbedtls/子目录,那是一个完整的加密库,源码和测试都在里面。
hactool 适合学习和研究场景使用,密钥文件请妥善保管,相关操作记得遵守当地法律法规。
【免费下载链接】hactoolhactool is a tool to view information about, decrypt, and extract common file formats for the Nintendo Switch, especially Nintendo Content Archives.项目地址: https://gitcode.com/gh_mirrors/ha/hactool
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考