Что такое формат файла XCI?
Файл .xci представляет собой бинарный образ игрового картриджа Nintendo Switch, созданный путем дампа чипа eMMC, встроенного в физический картридж. Формат был представлен вместе с запуском консоли Nintendo Switch в марте 2017 года и иногда называется NX Card Image или eXternal Cart Image.
Структура файла начинается с зашифрованного заголовка Gamecard в первых 0x200 байтах, за которым следует сертификат картриджа и метаданные карты. По смещению 0x10000 таблица разделов HFS0 (Hash FileSystem) содержит подразделы с именами secure, normal, update и logo. Внутри раздела secure файлы Nintendo Content Archive (.nca) содержат непосредственно игровые данные - зашифрованные исполняемые файлы в формате ExeFS и игровые ресурсы в формате RomFS.
Весь контент зашифрован с помощью AES-XTS с использованием ключей, производных от мастер-ключей конкретного устройства. Чтобы использовать файл .xci в эмуляторе, ключи дешифрования (prod.keys) должны быть извлечены из физической консоли Nintendo Switch. Без этих ключей файл невозможно расшифровать или запустить.
Размеры файлов варьируются от 512 МБ до 32 ГБ, что соответствует емкости чипов физических картриджей. Формат отличается от .nsp (Nintendo Submission Package), используемого для цифровых игр eShop. Сжатый вариант .xcz использует сжатие NCZ для уменьшения размера файла без изменения основной структуры.
Оба основных эмулятора Switch, Yuzu и Ryujinx, были закрыты после судебных исков Nintendo в 2024 году. Форки сообщества продолжают разработку, но остаются в состоянии правовой неопределенности.
Безопасность и защита
РИСК: MEDIUMСами файлы XCI не являются вредоносными (это зашифрованные игровые данные). Однако сайты, распространяющие дампы игр XCI, которыми пользователи не владеют, являются источниками пиратства. Риск: загрузка из неофициальных источников может привести к получению вредоносного ПО, встроенного в файлы или замаскированного под .xci. Юридический риск владения дампами коммерческих игр без наличия картриджа реален (нарушение авторских прав). Экосистема эмуляторов также стала мишенью для судебных исков Nintendo (закрытие Yuzu в 2024 году, соглашение с Ryujinx в 2024 году). Используйте только легальные, самостоятельно созданные дампы картриджей; используйте инструменты на базе Lockpick_RCM или Hekate на собственной консоли для законного извлечения ключей и игр.
Детали формата
в двух словах- Файл сопоставления шрифтов Adobe Reader - Adobe Acrobat/Reader использует .xci для конфигурационных файлов сопоставления шрифтов на базе XML; не имеет никакого отношения к Nintendo Switch.
- Файл конфигурации Xilinx Vivado IP - Инструменты Xilinx/AMD FPGA используют .xci для конфигурации IP-ядер; не связано ни с Nintendo, ни с Adobe.
Программы, открывающие файлы XCI
Технические подробности
глубокая спецификация| Тип файла | Проприетарный бинарный дамп образа игрового картриджа |
| MIME-тип | application/octet-stream |
| Порядок байтов | little-endian |
| Структура контейнера | Разделы HFS0 (Hash FileSystem 0): secure, normal, update, logo |
| Шифрование | AES-XTS по сектору; ключи производятся от мастер-ключей конкретного устройства |
| Файл ключей дешифрования | prod.keys - должен быть извлечен из физического оборудования Nintendo Switch; необходим для работы эмуляторов |
| Магические байты | HEAD (48 45 41 44) по смещению 0x0 (зашифрованный заголовок Gamecard) |
| Структура заголовка | 200-байтовый зашифрованный заголовок Gamecard; 200-байтовый сертификат; корневая таблица разделов HFS0 по смещению 0x10000 |
| Внутренний формат | Файлы NCA (Nintendo Content Archive), содержащие ExeFS (исполняемый код) и RomFS (игровые данные) |
| Проверка целостности | Хеши SHA-256, хранящиеся в заголовках разделов HFS0 для каждой записи файла |
| Типичный размер файла | 512 МБ - 32 ГБ (соответствует емкости чипа eMMC физического картриджа) |
| Емкость чипов картриджей | 1, 2, 4, 8, 16 или 32 ГБ eMMC |
| Сжатый вариант | .xcz - применяет сжатие NCZ к отдельным файлам NCA внутри контейнера XCI |
| Заполнение (Padding) | Файлы могут содержать пустое пространство, если игровые данные меньше емкости физического чипа |
| Выпущен | 2017 (Nintendo Switch launch, March 3, 2017) |
| Последняя версия | current (no version number published; format tied to Switch hardware revision) |
| Спецификация | switchbrew.org |