• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Union Framework: Union API

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625

UnionFrameworkLogo.png


 Union Framework: Union API

GitLab: Union Framework / Union API · GitLab
Wiki: Home · Wiki · Union Framework / Union API · GitLab
Прогресс: ~90%

Набор инструментов для модификации кода игры с открытым исходным кодом.
Union Framework предоставляет следующие основные возможности:
  • Перехват процедур
  • Прямое изменение памяти
  • События отслеживания загрузки библиотек
  • Управление общей памятью
  • Функции работы с VDFS
  • Инструменты работы со строками и их локализацией
Проект позволяет создавать полностью независимые плагины, которым не требуется предварительная установка каких-либо дополнительных пакетов (в том числе классический Union). При всем этом плагины на базе Union Framework смогут синхронизироваться к критических участках кода для обеспечения наилучшей совместимости.

Union Framework использует 3 метода перехвата процедур:
  1. Классический MS Detours хук модифицирует пролог целевой функции для переадресации вызова в другую
  2. Метод патчинга инструкций находит все возможные обращения к целевой функции и перенацеливает их в другую
  3. Частичный хук позволяет встроить в любой участок целевой функции другую C++ функцию
Для синхронизации перехватов между плагинами используется Общая память. Она позволяет не только использовать одинаковые методы аллокации памяти, но также и создавать специальные синглтоны, которые видны сразу всем плагинам процесса.
 
Сверху Снизу