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

  #4  
Старый 25.04.2024, 18:47
vmprotect
Постоянный
Регистрация: 15.09.2021
Сообщений: 396
С нами: 2453766

Репутация: 68
По умолчанию

Цитата:
Сообщение от why ega  

Можно хукнуть метод RakClient, отвечающий за подключение к серверу

C++:





Код:
#include "kthook/kthook.hpp"
using
RakClientConnect_t
=
bool
(
__thiscall
*
)
(
void
*
pRakClient
,
const
char
*
host
,
unsigned
short
serverPort
,
unsigned
short
clientPort
,
unsigned
int
depreciated
,
int
threadSleepTimer
)
;
kthook
::
kthook_simple

(
RakClientConnectHook
)
;
bool
RakClientConnectHooked
(
const
decltype
(
RakClientConnectHook
)
&
hook
,
void
*
pRakClient
,
const
char
*
host
,
unsigned
short
serverPort
,
unsigned
short
clientPort
,
unsigned
int
depreciated
,
int
threadSleepTimer
)
{
if
(
strcmp
(
host
,
"127.0.0.1"
)
==
0
)
)
std
::
cout

(
GetModuleHandle
(
"samp.dll"
)
)
;
RakClientConnectHook
.
set_cb
(
&
RakClientHooked
)
;
RakClientConnectHook
.
set_dest
(
SAMPHandle
+
0x339F0
)
;
// R3
RakClientConnectHook
.
install
(
)
;


Еще к примеру можно хукать какую-нибудь функцию из winsock (получать адрес экпортируемой функции из Ws2_32.dll), но тогда есть вероятность. то функция вызвана не из samp.dll, а например из какого-то плагина
а через rakclient можно создать коннект на другой айпи ?
 
Ответить с цитированием