Представлен RexGlue — новый рекомпилятор для Xbox 360

Представлен RexGlue — новый рекомпилятор для Xbox 360

История развития: первые шаги в портировании

В марте прошлого года сообщество энтузиастов выпустило фанатский порт Sonic Unleashed для ПК, одновременно открыв доступ к инструментарию для переноса игр. За прошедшее время список успешно портированных проектов пополнился Sonic 06. Сейчас основные усилия моддеров сосредоточены на запуске легендарной Fable II, однако работа продвигается медленно из-за чрезвычайно сложной и запутанной архитектуры исходного кода.

Ознакомиться с исходным кодом инструментария можно в репозитории: https://github.com/rexglue/rexglue-sdk/

Новый технологический этап

Что послужило катализатором для нового витка в сфере статической рекомпиляции? Ключевым фактором стало появление RexGlue. В отличие от своего предшественника, XenonRecomp, этот проект предлагает более универсальные алгоритмы и способен в автоматическом режиме генерировать TOML-таблицы функций. Благодаря этому технологическому скачку успешно стартовала разработка ReBlue.

Как внести свой вклад в развитие

На текущем этапе проект остро нуждается в бета-тестерах. Вы можете оказать существенную помощь сообществу, даже не обладая глубокими знаниями языка C++. Алгоритм действий прост:

  1. Сделайте дамп своего лицензионного диска для Xbox 360.
  2. Проверьте полученный .xex файл с помощью утилиты rexglue.exe.
  3. Зафиксируйте все обнаруженные нереализованные функции.

В логах это выглядит следующим образом:

[warning] [codegen] [t3436] Unimplemented: stfsux at 0x88DC2DA0

В случаях, когда рекомпилятор не может распознать определенные функции автоматически, необходимо вручную добавить соответствующие «заглушки» в конфигурационный файл .toml:

[functions]
0x88520B60 = { name = "sub_88520B60" }

Подробное руководство по сборке готового исполняемого файла (.exe) из полученных исходников будет опубликовано в следующей части материала.

 

Источник

Читайте также