O que é o formato de ficheiro XCI?
Um arquivo .xci é uma imagem binária de um cartucho de jogo do Nintendo Switch, criada ao extrair os dados do chip eMMC embutido em um cartucho físico. O formato foi introduzido junto com o lançamento do console Nintendo Switch em março de 2017 e às vezes é chamado de NX Card Image ou eXternal Cart Image.
A estrutura do arquivo começa com um cabeçalho de Gamecard criptografado nos primeiros 0x200 bytes, seguido por um certificado de cartucho e metadados do cartão. No deslocamento 0x10000, uma tabela de partição HFS0 (Hash FileSystem) contém subpartições chamadas secure, normal, update e logo. Dentro da partição secure, os arquivos Nintendo Content Archive (.nca) contêm os dados reais do jogo - executáveis criptografados no formato ExeFS e recursos do jogo no formato RomFS.
Todo o conteúdo é criptografado com AES-XTS usando chaves derivadas de chaves mestras específicas do dispositivo. Para usar um arquivo .xci com um emulador, as chaves de descriptografia (prod.keys) devem ser extraídas de um console Nintendo Switch físico. Sem essas chaves, o arquivo não pode ser descriptografado ou iniciado.
Os tamanhos dos arquivos variam de 512 MB a 32 GB, correspondendo às capacidades dos chips dos cartuchos físicos. O formato é distinto do .nsp (Nintendo Submission Package), usado para jogos digitais da eShop. A variante compactada .xcz aplica a compressão NCZ para reduzir o tamanho do arquivo sem alterar a estrutura principal.
Ambos os principais emuladores de Switch, Yuzu e Ryujinx, foram encerrados após ações judiciais da Nintendo em 2024. Forks da comunidade continuam o desenvolvimento, mas permanecem em incerteza jurídica.
Segurança e proteção
RISCO: MEDIUMArquivos XCI em si não são maliciosos (dados de jogo criptografados). No entanto, sites que distribuem dumps de jogos XCI para jogos que os usuários não possuem são fontes de pirataria. Risco: baixar de fontes não oficiais pode entregar malware embutido ou disfarçado como arquivos .xci. O risco legal de possuir dumps de jogos comerciais sem possuir o cartucho é real (violação de direitos autorais). O ecossistema de emuladores também foi alvo de ações legais da Nintendo (encerramento do Yuzu em 2024, acordo do Ryujinx em 2024). Use apenas cartuchos legais extraídos por você mesmo; use ferramentas baseadas em Lockpick_RCM ou Hekate em um console de propriedade física para extrair chaves/jogos legalmente.
Detalhes do formato
em resumo- Arquivo de Mapeamento de Fontes do Adobe Reader - O Adobe Acrobat/Reader usa .xci para arquivos de configuração de mapeamento de fontes baseados em XML; totalmente não relacionado ao Nintendo Switch.
- Arquivo de Configuração de IP Xilinx Vivado - As ferramentas de FPGA da Xilinx/AMD usam .xci para configuração de núcleo de IP; não relacionado ao Nintendo nem à Adobe.
Programas que abrem arquivos XCI
Detalhes técnicos
especificação profunda| Tipo de arquivo | Imagem binária proprietária de dump de cartucho de jogo |
| Tipo MIME | application/octet-stream |
| Ordem dos bytes | little-endian |
| Estrutura do contêiner | Partições HFS0 (Hash FileSystem 0): secure, normal, update, logo |
| Criptografia | AES-XTS por setor; chaves derivadas de chaves mestras específicas do dispositivo |
| Arquivo de chave de descriptografia | prod.keys - deve ser extraído do hardware físico do Nintendo Switch; exigido por emuladores |
| Bytes mágicos | HEAD (48 45 41 44) no deslocamento 0x0 (cabeçalho de Gamecard criptografado) |
| Layout do cabeçalho | Cabeçalho de Gamecard criptografado de 0x200 bytes; certificado de 0x200 bytes; tabela de partição raiz HFS0 no deslocamento 0x10000 |
| Formato interno | Arquivos NCA (Nintendo Content Archive) contendo ExeFS (executável) e RomFS (dados do jogo) |
| Verificação de integridade | Hashes SHA-256 armazenados nos cabeçalhos das partições HFS0 por entrada de arquivo |
| Tamanho de arquivo típico | 512 MB - 32 GB (corresponde à capacidade do chip eMMC do cartucho físico) |
| Capacidades de chip do cartucho | 1, 2, 4, 8, 16, ou 32 GB eMMC |
| Variante compactada | .xcz - aplica compressão NCZ a arquivos NCA individuais dentro do contêiner XCI |
| Preenchimento (Padding) | Arquivos podem conter preenchimento vazio se os dados do jogo forem menores que a capacidade do chip físico |
| Lançado | 2017 (Nintendo Switch launch, March 3, 2017) |
| Versão mais recente | current (no version number published; format tied to Switch hardware revision) |
| Especificação | switchbrew.org |