XCI ファイル形式とは?
.xci ファイルは、物理カートリッジに組み込まれた eMMC チップをダンプして作成された、Nintendo Switch ゲームカートリッジのバイナリイメージです。この形式は 2017年3月の Nintendo Switch 本体の発売と同時に導入され、「NX Card Image」または「eXternal Cart Image」と呼ばれることもあります。
ファイル構造は、最初の 0x200 バイトにある暗号化された Gamecard ヘッダーから始まり、続いてカートリッジ証明書とカードのメタデータが配置されます。オフセット 0x10000 には、HFS0(Hash FileSystem)パーティションテーブルがあり、secure、normal、update、logo という名前のサブパーティションが含まれています。secure パーティション内には、実際のゲームデータを保持する Nintendo Content Archive(.nca)ファイルが格納されており、これらは ExeFS 形式の暗号化された実行ファイルと RomFS 形式のゲームアセットで構成されています。
すべてのコンテンツは、デバイス固有のマスターキーから派生したキーを使用し、AES-XTS で暗号化されています。.xci ファイルをエミュレータで使用するには、物理的な Nintendo Switch 本体から復号キー(prod.keys)をダンプする必要があります。これらのキーがないと、ファイルを復号したり起動したりすることはできません。
ファイルサイズは 512 MB から 32 GB の範囲で、物理カートリッジのチップ容量に対応しています。この形式は、デジタル版の eShop ゲームに使用される .nsp(Nintendo Submission Package)とは異なります。圧縮された .xcz バリアントは、コア構造を変更せずにファイルサイズを削減するために NCZ 圧縮を適用したものです。
主要な Switch エミュレータである Yuzu と Ryujinx は、2024年の任天堂による法的措置を受けて閉鎖されました。コミュニティによるフォーク版が開発を継続していますが、法的な不確実性は残っています。
セキュリティと安全性
リスク: MEDIUMXCI ファイル自体は悪意のあるものではありません(暗号化されたゲームデータ)。しかし、ユーザーが所有していないゲームの XCI ダンプを配布しているサイトは海賊版のソースです。リスク:非公式サイトからダウンロードすると、.xci ファイルに偽装された、または同梱されたマルウェアに感染する可能性があります。カートリッジを所有せずに商用ゲームのダンプを所持する法的リスクは現実的です(著作権侵害)。エミュレータのエコシステムも任天堂の法的措置の対象となっています(2024年の Yuzu 閉鎖、2024年の Ryujinx 和解)。自身でダンプした合法的なカートリッジのみを使用してください。キーやゲームを合法的にダンプするには、物理的に所有している本体で Lockpick_RCM や Hekate ベースのツールを使用してください。
形式の詳細
概要- Adobe Reader フォントマッピングファイル - Adobe Acrobat/Reader は、XML ベースのフォントマッピング設定ファイルに .xci を使用します。Nintendo Switch とは一切関係ありません。
- Xilinx Vivado IP 設定ファイル - Xilinx/AMD の FPGA ツールは、IP コアの設定に .xci を使用します。任天堂および Adobe のいずれとも無関係です。
XCI ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルタイプ | 独自のバイナリゲームカートリッジイメージダンプ |
| MIME タイプ | application/octet-stream |
| バイト順序 | リトルエンディアン |
| コンテナ構造 | HFS0 (Hash FileSystem 0) パーティション: secure, normal, update, logo |
| 暗号化 | セクタごとの AES-XTS。キーはデバイス固有のマスターキーから派生 |
| 復号キーファイル | prod.keys - 物理的な Nintendo Switch ハードウェアからダンプする必要があり、エミュレータで必須 |
| マジックバイト | オフセット 0x0 に HEAD (48 45 41 44)(暗号化された Gamecard ヘッダー) |
| ヘッダーレイアウト | 0x200 バイトの暗号化された Gamecard ヘッダー、0x200 バイトの証明書、オフセット 0x10000 に HFS0 ルートパーティションテーブル |
| 内部形式 | ExeFS(実行ファイル)と RomFS(ゲームデータ)を含む NCA (Nintendo Content Archive) ファイル |
| 整合性チェック | ファイルエントリごとの HFS0 パーティションヘッダーに格納された SHA-256 ハッシュ |
| 典型的なファイルサイズ | 512 MB - 32 GB(物理カートリッジの eMMC チップ容量に一致) |
| カートリッジチップ容量 | 1, 2, 4, 8, 16, または 32 GB eMMC |
| 圧縮バリアント | .xcz - XCI コンテナ内の個々の NCA ファイルに NCZ 圧縮を適用 |
| パディング | ゲームデータが物理チップ容量より小さい場合、ファイルに空白のパディングが含まれることがあります |
| リリース日 | 2017 (Nintendo Switch launch, March 3, 2017) |
| 最新バージョン | current (no version number published; format tied to Switch hardware revision) |
| 仕様書 | switchbrew.org |