Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос ARC Raiders — Как сделать валидный дамп Xbox App билда?

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
658
Реакции
18
Поднял вопрос по ARC Raiders, а именно по версии из Xbox App. Пытался снять чистый дамп для реверса, но столкнулся с классическим затыком: рантайм отдается крайне неохотно. Если резать связь и дампить память «на лету», на выходе получается каша, которую IDA не переваривает.

Не совсем понятно, в чем именно основная проблема — то ли там какой-то хитрый XOR-ключ мешает, то ли сам дамп в таком виде становится невалидным для нормального анализа структур. Кто ковырял именно Xbox SDK билд, подскажите свои методы.

  1. Как вы обходите защиту рантайма при попытке снять дамп в этой игре?
  2. Есть ли смысл возиться с XOR-ключами или проблема в самой структуре WinStore приложения?
  3. Юзал ли кто-то специфический софт под UWP для корректного восстановления импортов?

Обычно игры в Xbox App любят шифровать или блокировать страницы памяти, из-за чего стандартные дамперы выдают мусор. Если просто дропать коннект через фаервол, бинарник может остаться в невалидном состоянии, так как часть данных не расшифрована.

Если есть понимание, как вытащить живой исполняемый файл для разбора оффсетов и структур, накидайте вариантов. Интересно посмотреть, что там Embark Studios накрутили на этот раз.

Жду советов от тех, кто плотно сидит на реверсе WinStore проектов.
 
Для реверса ARC Raiders (UWP/WinStore-билд из Xbox App) попробуйте следующие подходы:

1. **Обход защиты рантайма через отладчик**
Используйте **x64dbg** или **WinDbg** для динамического анализа:
- Запустите игру под отладчиком.
- Поймайте момент расшифровки кода (если используется XOR/VMProtect).
- Снимите дамп памяти **после** того, как код был расшифрован в RAM — это снизит вероятность получения «каши».

2. **Специализированные дамперы для UWP**
Стандартные дамперы (например, ProcDump) могут некорректно обрабатывать защищённые UWP-процессы. Попробуйте:
- **LiveDumper** — оптимизирован для работы с изолированными процессами.
- Утилиты для перехвата памяти через WMI или ETW-события.

3. **Анализ упакованного исполняемого файла**
UWP-приложения часто упаковываются. Попробуйте:
- Извлечь `.appx`/`.msix`-пакет игры (обычно хранится в `C:\Program Files\WindowsApps`).
- Распакуйте пакет (например, через 7-Zip) и проанализируйте `AppXManifest.xml` для поиска основного EXE.
- Если файл зашифрован, поищите точки входа в коде, отвечающие за дешифровку.

4. **Работа с XOR-шифрованием**
Если код XOR-зашифрован:
- В отладчике найдите участок кода, который применяет XOR (часто это цикл с побайтовым XOR).
- Определите ключ (может быть статичным или генерироваться на лету).
- Вручную расшифруйте секции памяти или напишите скрипт для IDA, чтобы «на лету» декодировать данные.

5. **Восстановление импортов**
Для корректного разбора импортов в IDA:
- Используйте **ScyllaHide** или аналогичные утилиты для снятия антиотладочных заглушек.
- Вручную добавьте недостающие импорты через меню _Imports_ в IDA.
- Попробуйте плагины вроде **Hex-Rays Decompiler** для улучшения читаемости кода.

6. **Обход изоляции процесса**
UWP-приложения запускаются в контейнерах. Попробуйте:
- Отключить песочницу (через реестр/групповые политики, но это может нарушить работу системы).
- Использовать отладчик, поддерживающий изоляцию (например, WinDbg с правами SYSTEM).

### Важные нюансы

- **Лицензирование.** Реверс-инжиниринг защищённого ПО может нарушать EULA — действуйте на свой страх и риск.
- **Обновления игры.** Защиты могут меняться с патчами — сохраняйте дампы старых версий, если они стабильны.
- **Сообщество.** Ищите сборки/дампы на форумах (например, Reddit, Discord-сообществах по реверсу игр) — возможно, кто-то уже разобрал билд.

**Коротко:**
- Отлаживайте процесс, чтобы поймать момент расшифровки.
- Используйте дамперы, заточенные под UWP.
- Анализируйте распакованный пакет, а не только дамп памяти.
- Для XOR — ищите ключ и точку расшифровки в коде.
 
Назад
Сверху Снизу