Hvad er XCI-filformatet?
En .xci-fil er et binært billede af en Nintendo Switch-spilkassette, oprettet ved at dumpe den eMMC-chip, der er indlejret i en fysisk kassette. Formatet blev introduceret sammen med lanceringen af Nintendo Switch-konsollen i marts 2017 og kaldes undertiden et NX Card Image eller eXternal Cart Image.
Filstrukturen begynder med en krypteret Gamecard-header i de første 0x200 bytes, efterfulgt af et kassette-certifikat og kort-metadata. Ved offset 0x10000 indeholder en HFS0 (Hash FileSystem) partitionstabel underpartitioner navngivet secure, normal, update og logo. Inde i secure-partitionen indeholder Nintendo Content Archive (.nca)-filer de faktiske spildata - krypterede eksekverbare filer i ExeFS-format og spilressourcer i RomFS-format.
Alt indhold er krypteret med AES-XTS ved hjælp af nøgler afledt af enhedsspecifikke masternøgler. For at bruge en .xci-fil med en emulator skal dekrypteringsnøgler (prod.keys) dumpes fra en fysisk Nintendo Switch-konsol. Uden disse nøgler kan filen ikke dekrypteres eller startes.
Filstørrelser varierer fra 512 MB til 32 GB, hvilket svarer til de fysiske kassette-chippas kapaciteter. Formatet er adskilt fra .nsp (Nintendo Submission Package), der bruges til digitale eShop-spil. Den komprimerede .xcz-variant anvender NCZ-komprimering for at reducere filstørrelsen uden at ændre kernestrukturen.
Begge de store Switch-emulatorer, Yuzu og Ryujinx, blev lukket efter juridiske skridt fra Nintendo i 2024. Community-forks fortsætter udviklingen, men befinder sig i en juridisk gråzone.
Sikkerhed og tryghed
RISIKO: MEDIUMXCI-filer i sig selv er ikke ondsindede (krypterede spildata). Websteder, der distribuerer XCI-spildumps til spil, som brugerne ikke ejer, er dog kilder til piratkopiering. Risiko: download fra uofficielle kilder kan levere malware indlejret sammen med eller forklædt som .xci-filer. Den juridiske risiko ved at besidde kommercielle spildumps uden at eje kassetten er reel (ophavsretskrænkelse). Emulator-økosystemet har også været mål for Nintendos juridiske skridt (Yuzu-lukning 2024, Ryujinx-forlig 2024). Brug kun lovlige, selv-dumpede kassetter; brug Lockpick_RCM eller Hekate-baserede værktøjer på en fysisk ejet konsol til at dumpe nøgler/spil lovligt.
Formatdetaljer
kort fortalt- Adobe Reader Font Mapping File - Adobe Acrobat/Reader bruger .xci til XML-baserede konfigurationsfiler til skrifttypemapping; helt urelateret til Nintendo Switch.
- Xilinx Vivado IP Configuration File - Xilinx/AMD FPGA-værktøjer bruger .xci til IP-kernekonfiguration; urelateret til både Nintendo og Adobe.
Programmer der åbner XCI-filer
Tekniske detaljer
dyb specifikation| Filtype | Proprietært binært spilkassette-billeddump |
| MIME-type | application/octet-stream |
| Byte-rækkefølge | little-endian |
| Container-struktur | HFS0 (Hash FileSystem 0) partitioner: secure, normal, update, logo |
| Kryptering | AES-XTS per sektor; nøgler afledt af enhedsspecifikke masternøgler |
| Dekrypteringsnøgle-fil | prod.keys - skal dumpes fra fysisk Nintendo Switch-hardware; påkrævet af emulatorer |
| Magic bytes | HEAD (48 45 41 44) ved offset 0x0 (krypteret Gamecard-header) |
| Header-layout | 0x200-byte krypteret Gamecard-header; 0x200-byte certifikat; HFS0-rodpartitionstabel ved offset 0x10000 |
| Indre format | NCA (Nintendo Content Archive)-filer indeholdende ExeFS (eksekverbar) og RomFS (spildata) |
| Integritetskontrol | SHA-256 hashes gemt i HFS0-partitionshoveder per filindgang |
| Typisk filstørrelse | 512 MB - 32 GB (svarer til fysisk kassette-eMMC-chipkapacitet) |
| Kassette-chipkapaciteter | 1, 2, 4, 8, 16, eller 32 GB eMMC |
| Komprimeret variant | .xcz - anvender NCZ-komprimering på individuelle NCA-filer i XCI-containeren |
| Padding | Filer kan indeholde tom padding, hvis spildata er mindre end den fysiske chipkapacitet |
| Udgivet | 2017 (Nintendo Switch launch, March 3, 2017) |
| Seneste version | current (no version number published; format tied to Switch hardware revision) |
| Specifikation | switchbrew.org |