Vad är filformatet XCI?
En .xci-fil är en binär avbildning av en Nintendo Switch-spelkassett, skapad genom att dumpa det eMMC-chip som finns inbäddat i en fysisk kassett. Formatet introducerades i samband med lanseringen av Nintendo Switch-konsolen i mars 2017 och kallas ibland för NX Card Image eller eXternal Cart Image.
Filstrukturen börjar med ett krypterat Gamecard-huvud i de första 0x200 byten, följt av ett kassettcertifikat och kortmetadata. Vid offset 0x10000 innehåller en HFS0 (Hash FileSystem) partitionstabell underpartitioner med namnen secure, normal, update och logo. Inuti secure-partitionen innehåller Nintendo Content Archive-filer (.nca) själva speldata - krypterade körbara filer i ExeFS-format och speltillgångar i RomFS-format.
Allt innehåll är krypterat med AES-XTS med nycklar härledda från enhetsspecifika huvudnycklar. För att använda en .xci-fil med en emulator måste dekrypteringsnycklar (prod.keys) dumpas från en fysisk Nintendo Switch-konsol. Utan dessa nycklar kan filen inte dekrypteras eller startas.
Filstorlekarna varierar från 512 MB till 32 GB, vilket matchar de fysiska kassettchipens kapacitet. Formatet skiljer sig från .nsp (Nintendo Submission Package), som används för digitala eShop-spel. Den komprimerade .xcz-varianten använder NCZ-komprimering för att minska filstorleken utan att ändra kärnstrukturen.
Båda de stora Switch-emulatorerna, Yuzu och Ryujinx, stängdes ner efter rättsliga åtgärder från Nintendo under 2024. Community-förgreningar fortsätter utvecklingen men befinner sig i en juridisk osäkerhet.
Säkerhet & trygghet
RISK: MEDIUMXCI-filer i sig är inte skadliga (krypterad speldata). Webbplatser som distribuerar XCI-dumpningar för spel som användare inte äger är dock källor till piratkopiering. Risk: nedladdning från inofficiella källor kan leverera skadlig kod inbäddad tillsammans med eller maskerad som .xci-filer. Den juridiska risken med att inneha kommersiella speldumpningar utan att äga kassetten är verklig (upphovsrättsbrott). Emulator-ekosystemet har också varit måltavla för Nintendos rättsliga åtgärder (Yuzu-nedstängning 2024, Ryujinx-förlikning 2024). Använd endast lagliga, själv-dumpade kassetter; använd Lockpick_RCM eller Hekate-baserade verktyg på en fysiskt ägd konsol för att dumpa nycklar/spel lagligt.
Formatdetaljer
i ett nötskal- Adobe Reader Font Mapping File - Adobe Acrobat/Reader använder .xci för XML-baserade konfigurationsfiler för teckensnittsmappning; helt orelaterat till Nintendo Switch.
- Xilinx Vivado IP Configuration File - Xilinx/AMD FPGA-verktyg använder .xci för IP-kärnkonfiguration; orelaterat till både Nintendo och Adobe.
Program som öppnar XCI-filer
Tekniska detaljer
djup specifikation| Filtyp | Proprietär binär avbildning av spelkassett |
| MIME-typ | application/octet-stream |
| Byteordning | little-endian |
| Containerstruktur | HFS0 (Hash FileSystem 0) partitioner: secure, normal, update, logo |
| Kryptering | AES-XTS per sektor; nycklar härledda från enhetsspecifika huvudnycklar |
| Dekrypteringsnyckelfil | prod.keys - måste dumpas från fysisk Nintendo Switch-hårdvara; krävs av emulatorer |
| Magic bytes | HEAD (48 45 41 44) vid offset 0x0 (krypterat Gamecard-huvud) |
| Header-layout | 0x200-byte krypterat Gamecard-huvud; 0x200-byte certifikat; HFS0-rotpartitionstabell vid offset 0x10000 |
| Inre format | NCA-filer (Nintendo Content Archive) innehållande ExeFS (körbar fil) och RomFS (speldata) |
| Integritetskontroll | SHA-256-hashar lagrade i HFS0-partitionsrubriker per filpost |
| Typisk filstorlek | 512 MB - 32 GB (matchar fysisk kassetts eMMC-chipkapacitet) |
| Kassettchip-kapacitet | 1, 2, 4, 8, 16, eller 32 GB eMMC |
| Komprimerad variant | .xcz - tillämpar NCZ-komprimering på enskilda NCA-filer inuti XCI-containern |
| Utfyllnad (Padding) | Filer kan innehålla tom utfyllnad om speldata är mindre än den fysiska chipkapaciteten |
| Släppt | 2017 (Nintendo Switch launch, March 3, 2017) |
| Senaste version | current (no version number published; format tied to Switch hardware revision) |
| Specifikation | switchbrew.org |