
04.12.2025, 23:26
|
|
Познающий
Регистрация: 16.05.2025
Сообщений: 35
С нами:
526134
Репутация:
8
|
|
как поставить хук на функцию? не вызов функции, а на саму функцию
пытался так
C++:
[CODE]
typedef
void
(
__thiscall
*
CEntity_Render_t
)
(
CEntity
*
entity
)
;
CEntity_Render_t fpOriginalRender
;
void
*
Create_Hook
(
BYTE
*
src
,
const
BYTE
*
dst
,
const
int
len
)
{
BYTE
*
jmp
;
DWORD dwback
;
DWORD jumpto
,
newjump
;
VirtualProtect
(
src
,
len
,
PAGE_READWRITE
,
&
dwback
)
;
if
(
src
[
0
]
==
0xE9
)
{
jmp
=
(
BYTE
*
)
malloc
(
10
)
;
jumpto
=
(
*
(
DWORD
*
)
(
src
+
1
)
)
+
(
(
DWORD
)
src
)
+
5
;
newjump
=
(
jumpto
-
(
DWORD
)
(
jmp
+
5
)
)
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
newjump
;
jmp
+=
5
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
(
DWORD
)
(
src
-
jmp
)
;
}
else
{
jmp
=
(
BYTE
*
)
malloc
(
5
+
len
)
;
memcpy
(
jmp
,
src
,
len
)
;
jmp
+=
len
;
jmp
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
jmp
+
1
)
=
(
DWORD
)
(
src
+
len
-
jmp
)
-
5
;
}
src
[
0
]
=
0xE9
;
*
(
DWORD
*
)
(
src
+
1
)
=
(
DWORD
)
(
dst
-
src
)
-
5
;
for
(
int
i
=
5
;
i
но игра просто вылетала
|
|
|