Исходник ASM Hooks

kin4stat

mq-team
Автор темы
Всефорумный модератор
2,730
4,710
Делать было нехер, сделал хукер на ассемблере :D

Умеет подменять вызов, если адрес который вы передаете указывает на опкод вызова (E8)

Тоже самое произойдет с прыжком, если на месте хука стоит опкод прыжка (E9)

Пример использования:

C:
typedef void(__cdecl* CTimer_Update)();
CTimer_Update TimerHookTrampoline;

void __cdecl HOOK__CTimer__Update() {
    return TimerHookTrampoline();
}

InstallHook(reinterpret_cast<void*>(0x561B10), &HOOK__CTimer__Update, 6, reinterpret_cast<void**>(&TimerHookTrampoline));

Если трамплин не требуется:

C:
void __cdecl HOOK__CTimer__Update() {
    return;
}

InstallHook(reinterpret_cast<void*>(0x561B10), &HOOK__CTimer__Update, 6, 0);

Исходник на гитхабе:
 
Последнее редактирование:

Vintik

Мечтатель
Проверенный
1,467
916
Для понтов или это имеет реальное применение (чем лучше других хуков)?