Исходник Софт [1.2.0-beta] hook / Продвинутые хуки для MoonLoader

Musaigen

shitposter
Автор темы
Проверенный
1,660
1,477
RTD делал tcc, но там не хватает поддержки с plugin sdk.

Вообще круто было бы писать код c++ в луа, затем с помощью библиотеки компилировать и запускать. Как это сделано в tcc от RTD.

Я думаю тогда и не надо будет ломать голову с гонкой потоков на луа.
Есть вариант еще лучше, где точно не надо ломать голову — это писать на С++

Обновление больше для меня самого, чем для юзеров, V1.1.0:
1. Функции, связанные с аллокацией/выгрузкой памяти, перенесены в отдельный модуль.
2. Для будущего удобства в разработке, написан класс Codecave, потому слегка изменен код генерации трамплина.
3. Изменение названия некоторых констант.
 
Последнее редактирование:

Musaigen

shitposter
Автор темы
Проверенный
1,660
1,477
На данный момент ведется разработка под х64 архитектуру в отдельной ветке.
 
  • Нравится
Реакции: whyega52

Musaigen

shitposter
Автор темы
Проверенный
1,660
1,477
V1.2.0:
1. Добавил сохранение регистров. (EAX, ECX, и так далее). Можно получить значение, что хранится в регистре, получить значение из стека, преобразовать регистр в определенный тип.
Lua:
-- Получение значения, что хранится в регистре.
hook:context():value("eax")

-- Получение параметра из стека.
-- 1 -> номер параметра
-- int -> С-тип параметра
hook:context():stack(1, "int")

-- Преобразование значения, что хранится в регистре, в тип.
local ped = hook:context():as("esi", "CPed*")
2. Улучшил аннотации у каллбеков хука
1743762123681.png

3. Все аннотации внутренних классов перемещены в пространство имён Hook.
4. Для улучшения производительности перенесена библиотека memory из MoonLoader V0.27
 
  • Нравится
Реакции: whyega52