
08.10.2024, 23:58
|
|
Познающий
Регистрация: 10.06.2020
Сообщений: 37
С нами:
3119285
Репутация:
63
|
|
У тебя функция по реализации меняет rva(когда ты передаёшь адрес пролога функции), либо перепиши и измени оффсет, либо юзай такое или минхук
C++:
Код:
static
void
RedirectJump
(
DWORD address
,
void
*
foo
)
{
DWORD protect
;
VirtualProtect
(
(
LPVOID
)
address
,
5
,
PAGE_EXECUTE_READWRITE
,
&
protect
)
;
*
reinterpret_cast
(
address
)
=
0xE9
;
*
reinterpret_cast
(
address
+
1
)
=
reinterpret_cast
(
foo
)
-
address
-
5
;
VirtualProtect
(
(
LPVOID
)
address
,
5
,
protect
,
&
protect
)
;
}
Только надо добавить сохранение указателя на ориг функцию, ибо код из инета взял для примера.
|
|
|