
24.08.2021, 09:53
|
|
Новичок
Регистрация: 22.09.2019
Сообщений: 8
С нами:
3496590
Репутация:
1
|
|
Сообщение от AdCKuY_DpO4uLa
C++:
Код:
#include
#include
#include "MinHook.h"
#pragma comment(lib, "libMinHook-x86-v141-mt.lib")
typedef
void
(
__thiscall
*
tChatAddEntry
)
(
void
*
,
int
nType
,
char
*
szText
,
char
*
szPrefix
,
DWORD textColor
,
DWORD prefixColor
)
;
tChatAddEntry origChatAddEntry
=
nullptr
;
void
__fastcall
HOOKED_ChatAddEntry
(
void
*
_this
,
void
*
pUnk
,
int
nType
,
char
*
szText
,
char
*
szPrefix
,
DWORD textColor
,
DWORD prefixColor
)
{
printf
(
"type: %d, msg: %s\n"
,
nType
,
szText
)
;
return
origChatAddEntry
(
_this
,
nType
,
szText
,
szPrefix
,
textColor
,
prefixColor
)
;
}
class
CPluginInit
{
public
:
CPluginInit
(
)
{
base
=
(
DWORD
)
GetModuleHandleA
(
"samp.dll"
)
;
MH_Initialize
(
)
;
MH_CreateHook
(
(
void
*
)
(
base
+
0x0064010
)
,
&
HOOKED_ChatAddEntry
,
(
void
*
*
)
&
origChatAddEntry
)
;
MH_EnableHook
(
(
void
*
)
(
base
+
0x0064010
)
)
;
}
;
~
CPluginInit
(
)
{
MH_DisableHook
(
(
void
*
)
(
base
+
0x0064010
)
)
;
}
;
private
:
DWORD base
=
0
;
}
PluginInit
;
так, а каким образом можно заменить эти сообщения на свои?
|
|
|