
Личное исследование архитектуры Xbox Series
| Поле | Значение |
|---|---|
| Дата | 9–12 марта 2026 г. + 7–? июля 2026 г. |
| Оборудование | Xbox Series S (кодовое имя: Lockhart) |
| Сборка ОС | 26100.7010.amd64fre.xb_flt_2602ge.260212-1010 + 26100.8561.amd64fre.xb_flt_2606ge.260609-2200 |
| Метод доступа | Режим разработчика + SSH + REST API + junction файлового ресурса NTFS |
Этот отчёт представляет собой статический и динамический анализ внутренней архитектуры Xbox Series S, выполненный полностью через официальную инфраструктуру режима разработчика Microsoft. Никакие эксплойты или нарушения политики не использовались; весь доступ осуществлялся в рамках индивидуальной программы разработчика.
В нём содержатся сведения о компонентах от самого высокого уровня, используемых для игрового процесса, до компонентов системных драйверов самого низкого уровня. Ожидается, что большинство этих сведений будет одинаковым и для Xbox One.
ИИ был использован для очень быстрого форматирования большого первоначального исследования (более 200 результатов анализа и более 50 случайных заметок) в этот документ. Все последующие правки вносятся вручную.
Если вы считаете, что какой-либо пункт неясен, недостаточно задокументирован или ложен, не стесняйтесь написать мне, или если у вас есть ответы на мои вопросы (в разделе 12), это тоже будет хорошо. GUID и другие распространённые шаблоны удаляются в pre-commit hook на случай, если я оставлю что-то, идентифицирующее мою учётную запись.
Многое из того, над чем я работаю, основано на предположениях, поэтому это может быть неточно и будет меняться по мере получения дополнительной информации и изучения других бинарных файлов.
По причинам, которые вы, вероятно, понимаете, я ни при каких обстоятельствах не буду делиться непосредственно бинарными файлами, выводами дизассемблирования или чем-либо, что считается интеллектуальной собственностью Microsoft или её дочерних компаний.
ERA = GameOS Partition
SRA = SystemOS Partition
HT = Kinect (possibly "Human Tracking"?)
Arden = Xbox Series X/S GPU Stack
NewBe = Arden shader compiler
Управление драйверами Host OS существует за пределами известной модели SRA/ERA, см. модель доверия (разделы 4.2, 17.5). XVIO.SYS и XSraFlt.sys загружаются напрямую гипервизором (через HostOS) до инициализации Windows и отсутствуют во всех доступных томах. Их невозможно изменить даже при полном доступе к ядру, что является основной границей безопасности.
HVCI намеренно отключён (раздел 18). IsSecureKernelRunning = 0x0 подтверждает, что Secure Kernel (VTL1) не работает. Проверка целостности кода осуществляется только во время загрузки, что оставляет окно TOCTOU после отображения бинарных файлов. Это осознанный компромисс в пользу производительности; границей безопасности является раздел гипервизора, а не защита памяти внутри раздела.
NTFS junction открывает всю файловую систему SystemOS по сети (раздел 1.2). Одна команда mklink /J из SSH-оболочки отображает C:\ или любой другой путь в файловый ресурс Device Portal, делая каждый системный бинарный файл доступным для чтения удалённо без дополнительной аутентификации, кроме PIN-кода режима разработчика.
Архитектура межраздельного взаимодействия почти полностью картирована (разделы 4, 14, 26-28). Игровой раздел ERA общается с SystemOS исключительно через каналы, опосредованные гипервизором: кольцевые буферы XVIO для ввода-вывода, трансляция GPA для общей памяти, HvSocket для IPC и секции порта ALPC для доставки кадрового буфера с нулевым копированием, предоставляемые родительской "Host OS".
Junction Deploy:\ обходит ограничения локального доступа (раздел 25). Том Windows Update доступен только через сетевой ресурс (S:\Deployment\SoftwareDistribution\) из-за некоторого расхождения где-то (возможно, xrfssvc.exe?).
Большинство бинарных файлов имеют просто строки описания; я не знал этого до сегодняшнего дня, поскольку не использовал Windows ни для чего, кроме самого подключения к консоли. Часто это скучно (например, XVUH, XVMCTRL), но в других случаях это очень информативно (например, Durango Virtual XVNC Bus Driver, Xbox Remote File System Service).
Все тесты проводились на одном розничном Xbox Series S в режиме разработчика. Результаты отражают множество сборок, однако со временем я сделаю diff этих сборок и напишу об этом. Результаты могут различаться в зависимости от ревизий оборудования (Series X, Xbox One) и версий прошивки. Некоторые поверхности уровня ядра были недоступны: живые дампы ядра блокируются ограничением NoKernelDumps, а поверхность IOCTL xvmctrl.sys не была полностью перечислена. Открытые вопросы отслеживаются в разделе 12.
| Инструмент | Назначение |
|---|---|
| Windows Explorer | Сетевой ресурс Xbox (инструкции по адресу https://XBOX:11443/#File%20explorer > Обзор) |
SSH (DevToolsUser + PIN-код VS) | Доступ к оболочке SystemOS |
mklink /J | Создание NTFS junction для предоставления доступа к дискам через сетевой ресурс |
Device Portal (https://XBOX:11443) | REST API, файловый браузер, список процессов, живые дампы |
dumpbin /IMPORTS, dumpbin /EXPORTS | Статический анализ PE-бинарных файлов через сетевой ресурс |
| Python | Скрипт для автоматизации REST API |
| Phasor | Скриптовый рантайм для использования на консоли (копируется через сетевой ресурс, запускается по SSH) скачать здесь |
reg query | Перечисление реестра из SSH-оболочки |
WdApp.exe | Менеджер пакетов и управление жизненным циклом ERA (перечисление командной поверхности) |
WdConfig.exe | Перечисление API настроек консоли |
| Анализ ETL-трассировок | Конвейер Windows Update через junction S:\Deployment\SoftwareDistribution\ |
| Живые дампы процессов | GET /api/debug/dump/usermode/live?pid=<pid> |
| Ghidra | Анализ COM-интерфейсов / драйверов |
| IDA Pro | Графы вызовов сложных DLL и COM-интерфейсов |
| XboxTools | Моя собственная коллекция утилит для разных задач |
Доступ был установлен через недокументированный (официально, но есть документация сообщества) SSH-интерфейс Dev Mode. Метод NTFS junction (раздел 1.2) расширил доступ на чтение от рабочей области D:\DevelopmentFiles до полного системного тома C:\ и всех дополнительных томов с буквами. Весь анализ был только на чтение; никакие системные настройки не изменялись (WdConfig.exe set не использовался). Xbox может запускать стандартные консольные бинарные файлы Windows x86_64 (скомпилированные с /MT) напрямую через SSH-оболочку, которая использовалась для локального запуска инструментов анализа.
Дампы ядра были недоступны: ограничение NoKernelDumps Device Portal блокирует их в розничном режиме разработчика. Пользовательские живые дампы процессов были доступны и использовались там, где это уместно.
Xbox Dev Mode поддерживает Visual Studio, это работает через SSH:
DevToolsUser