Hva er XCI-filformatet?
En .xci-fil er et binært bilde av en Nintendo Switch-spillkassett, opprettet ved å dumpe eMMC-brikken som er innebygd i en fysisk kassett. Formatet ble introdusert sammen med lanseringen av Nintendo Switch-konsollen i mars 2017 og kalles noen ganger et NX Card Image eller eXternal Cart Image.
Filstrukturen begynner med en kryptert Gamecard-header i de første 0x200 bytene, etterfulgt av et kassettsertifikat og kort-metadata. Ved offset 0x10000 inneholder en HFS0 (Hash FileSystem) partisjonstabell underpartisjoner med navnene secure, normal, update og logo. Inne i secure-partisjonen inneholder Nintendo Content Archive (.nca)-filer de faktiske spilldataene - krypterte kjørbare filer i ExeFS-format og spillressurser i RomFS-format.
Alt innhold er kryptert med AES-XTS ved bruk av nøkler utledet fra enhetsspesifikke masternøkler. For å bruke en .xci-fil med en emulator, må dekrypteringsnøkler (prod.keys) dumpes fra en fysisk Nintendo Switch-konsoll. Uten disse nøklene kan ikke filen dekrypteres eller startes.
Filstørrelser varierer fra 512 MB til 32 GB, noe som samsvarer med kapasiteten på de fysiske kassettbrikkene. Formatet er forskjellig fra .nsp (Nintendo Submission Package), som brukes for digitale eShop-spill. Den komprimerte .xcz-varianten bruker NCZ-komprimering for å redusere filstørrelsen uten å endre kjernestrukturen.
Begge de store Switch-emulatorene, Yuzu og Ryujinx, ble lagt ned etter rettslige skritt fra Nintendo i 2024. Fellesskapsbaserte forgreninger (forks) fortsetter utviklingen, men befinner seg i en juridisk usikkerhet.
Sikkerhet og trygghet
RISIKO: MEDIUMXCI-filer i seg selv er ikke skadelige (krypterte spilldata). Imidlertid er nettsteder som distribuerer XCI-spilldumper for spill brukere ikke eier, kilder til piratkopiering. Risiko: nedlasting fra uoffisielle kilder kan medføre skadevare innebygd i eller forkledd som .xci-filer. Den juridiske risikoen ved å inneha kommersielle spilldumper uten å eie kassetten er reell (brudd på opphavsrett). Emulator-økosystemet har også vært mål for Nintendos rettslige skritt (Yuzu-nedleggelse 2024, Ryujinx-forlik 2024). Bruk kun lovlige, selv-dumpede kassetter; bruk Lockpick_RCM eller Hekate-baserte verktøy på en fysisk eid konsoll for å dumpe nøkler/spill lovlig.
Formatdetaljer
i et nøtteskall- Adobe Reader Font Mapping File - Adobe Acrobat/Reader bruker .xci for XML-baserte konfigurasjonsfiler for font-mapping; helt urelatert til Nintendo Switch.
- Xilinx Vivado IP Configuration File - Xilinx/AMD FPGA-verktøy bruker .xci for IP-kjernekonfigurasjon; urelatert til både Nintendo og Adobe.
Programmer som åpner XCI-filer
Tekniske detaljer
dyp spesifikasjon| Filtype | Proprietær binær dump av spillkassett |
| MIME-type | application/octet-stream |
| Byte-rekkefølge | little-endian |
| Container-struktur | HFS0 (Hash FileSystem 0) partisjoner: secure, normal, update, logo |
| Kryptering | AES-XTS per sektor; nøkler utledet fra enhetsspesifikke masternøkler |
| Dekrypteringsnøkkel | prod.keys - må dumpes fra fysisk Nintendo Switch-maskinvare; kreves av emulatorer |
| Magic bytes | HEAD (48 45 41 44) ved offset 0x0 (kryptert Gamecard-header) |
| Header-oppsett | 0x200-byte kryptert Gamecard-header; 0x200-byte sertifikat; HFS0 rot-partisjonstabell ved offset 0x10000 |
| Indre format | NCA (Nintendo Content Archive) filer som inneholder ExeFS (kjørbare filer) og RomFS (spilldata) |
| Integritetskontroll | SHA-256-hasher lagret i HFS0-partisjonsheadere per filoppføring |
| Typisk filstørrelse | 512 MB - 32 GB (samsvarer med fysisk kassett-eMMC-kapasitet) |
| Kassett-kapasitet | 1, 2, 4, 8, 16, eller 32 GB eMMC |
| Komprimert variant | .xcz - bruker NCZ-komprimering på individuelle NCA-filer i XCI-containeren |
| Utfylling (Padding) | Filer kan inneholde tom utfylling hvis spilldataene er mindre enn den fysiske brikkekapasiteten |
| Utgitt | 2017 (Nintendo Switch launch, March 3, 2017) |
| Siste versjon | current (no version number published; format tied to Switch hardware revision) |
| Spesifikasjon | switchbrew.org |