Показать сообщение отдельно

  #7  
Старый 16.06.2022, 00:02
kin4stat
Флудер
Регистрация: 06.11.2017
Сообщений: 2,759
С нами: 4483143

Репутация: 183


По умолчанию

Обновил, добавил naked(x86/x64) хуки. Документацию потом как-нибудь обновлю.

Пока представлю короткую сводку, ну и пример из тестов:

Интерфейс как у
Код:
kthook_simple
(т.е.
Код:
set_dest
,
Код:
set_cb
и прочее на месте)

Тип коллбэка -
Код:
void(const kthook_naked&)
Также доступны две функции, которые можно юзать внутри хука:

Код:
get_context
и
Код:
get_return_address
Код:
get_context
позволяет получить мутабельный контекст, который был захвачен перед вызовом коллбэка внутри хука.

Тип возвращаемого значения -
Код:
cpu_ctx&
, внутри которого лежат все регистры процессора. Можно изменять, изменения применятся после выхода из коллбэка

Код:
get_return_address
позволяет получить мутабельный адрес возврата, который по умолчанию выставляется на место хука + кол-во байт нужных для хука

Тип возвращаемого значения -
Код:
std::uintptr_t&
, который можно менять. Если изменить - после выхода из коллбэка выполнение перейдет на указанный адрес

kthook/tests/simple_test.cpp at ead0aff128ce2158875354b9173da4eeddc5b70c · kin4stat/kthook

Contribute to kin4stat/kthook development by creating an account on GitHub.

github.com


kthook/tests/simple_test.cpp at ead0aff128ce2158875354b9173da4eeddc5b70c · kin4stat/kthook

Contribute to kin4stat/kthook development by creating an account on GitHub.

github.com
 
Ответить с цитированием