
14.04.2025, 22:29
|
|
Новичок
Регистрация: 20.11.2006
Сообщений: 9
С нами:
10248157
Репутация:
17
|
|
Сообщение от whyega52
А не подскажешь, как правильно изменить значение в eax (результат вызова функи) так, чтобы асм листинг не ломался (трамплинчик вроде называется)
C++:
Код:
#include
subhook_t original_function_hook
;
typedef
int
(
*
original_func_t
)
(
/* параметры */
)
;
int
my_hook_function
(
/* параметры */
)
{
// Получаем трамплин и вызываем оригинальную функцию
int
result
=
(
(
original_func_t
)
subhook_get_trampoline
(
original_function_hook
)
)
(
/* параметры */
)
;
// Модифицируем результат (значение в eax)
result
=
/* твоя модификация например result * 2 */
;
return
result
;
}
void
setup_hook
(
)
{
original_function_hook
=
subhook_new
(
(
void
*
)
original_function
,
(
void
*
)
my_hook_function
)
;
subhook_install
(
original_function_hook
)
;
}
|
|
|