HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

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

можно ли в c++ использовать функцию onsendclientjoin может она есть в sampapi или можно ее как-то хукнуть напрямую
 
Ответить с цитированием

  #2  
Старый 15.09.2024, 00:00
ustoman
Новичок
Регистрация: 20.08.2024
Сообщений: 15
С нами: 913900

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

Цитата:
Сообщение от 0x1146fd  

можно ли в c++ использовать функцию onsendclientjoin может она есть в sampapi или можно ее как-то хукнуть напрямую
легко и просто, но с использованием SF API

onsendclientjoin:





Код:
bool
CALLBACK
outcomingData
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
RPCEnumeration
::
RPC_ClientJoin
)
{
BitStream
*
bs
=
params
->
bitStream
;
int
iVersion
;
byte byteMod
;
byte byteNameLen
;
char
szNickName
[
32
]
;
uint uiChallengeResponse
;
byte byteAuthBSLen
;
char
pszAuthBullshit
[
size
]
;
byte clientVersionLen
;
char
clientVersion
[
size
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
iVersion
)
;
params
->
bitStream
->
Read
(
byteMod
)
;
params
->
bitStream
->
Read
(
byteNameLen
)
;
params
->
bitStream
->
Read
(
szNickName
,
byteNameLen
)
;
szNickName
[
byteNameLen
]
=
'\0'
;
params
->
bitStream
->
Read
(
uiChallengeResponse
)
;
params
->
bitStream
->
Read
(
byteAuthBSLen
)
;
params
->
bitStream
->
Read
(
pszAuthBullshit
,
byteAuthBSLen
)
;
pszAuthBullshit
[
byteAuthBSLen
]
=
'\0'
;
params
->
bitStream
->
Read
(
clientVersionLen
)
;
params
->
bitStream
->
Read
(
clientVersion
,
clientVersionLen
)
;
clientVersion
[
clientVersionLen
]
=
'\0'
;
iVersion
=
version
;
sprintf
(
pszAuthBullshit
,
"authkey"
)
;
byteAuthBSLen
=
sizeof
(
pszAuthBullshit
)
;
sprintf
(
clientVersion
,
"client version"
)
;
clientVersionLen
=
sizeof
(
clientVersion
)
;
params
->
bitStream
->
ResetWritePointer
(
)
;
params
->
bitStream
->
Write
(
iVersion
)
;
params
->
bitStream
->
Write
(
byteMod
)
;
params
->
bitStream
->
Write
(
byteNameLen
)
;
params
->
bitStream
->
Write
(
szNickName
,
byteNameLen
)
;
params
->
bitStream
->
Write
(
uiChallengeResponse
)
;
params
->
bitStream
->
Write
(
byteAuthBSLen
)
;
params
->
bitStream
->
Write
(
pszAuthBullshit
,
byteAuthBSLen
)
;
params
->
bitStream
->
Write
(
clientVersionLen
)
;
params
->
bitStream
->
Write
(
clientVersion
,
clientVersionLen
)
;
}
;
return
true
;
}
 
Ответить с цитированием

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

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

Цитата:
Сообщение от ustoman  

легко и просто, но с использованием SF API

onsendclientjoin:





Код:
bool
CALLBACK
outcomingData
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
RPCEnumeration
::
RPC_ClientJoin
)
{
BitStream
*
bs
=
params
->
bitStream
;
int
iVersion
;
byte byteMod
;
byte byteNameLen
;
char
szNickName
[
32
]
;
uint uiChallengeResponse
;
byte byteAuthBSLen
;
char
pszAuthBullshit
[
size
]
;
byte clientVersionLen
;
char
clientVersion
[
size
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
iVersion
)
;
params
->
bitStream
->
Read
(
byteMod
)
;
params
->
bitStream
->
Read
(
byteNameLen
)
;
params
->
bitStream
->
Read
(
szNickName
,
byteNameLen
)
;
szNickName
[
byteNameLen
]
=
'\0'
;
params
->
bitStream
->
Read
(
uiChallengeResponse
)
;
params
->
bitStream
->
Read
(
byteAuthBSLen
)
;
params
->
bitStream
->
Read
(
pszAuthBullshit
,
byteAuthBSLen
)
;
pszAuthBullshit
[
byteAuthBSLen
]
=
'\0'
;
params
->
bitStream
->
Read
(
clientVersionLen
)
;
params
->
bitStream
->
Read
(
clientVersion
,
clientVersionLen
)
;
clientVersion
[
clientVersionLen
]
=
'\0'
;
iVersion
=
version
;
sprintf
(
pszAuthBullshit
,
"authkey"
)
;
byteAuthBSLen
=
sizeof
(
pszAuthBullshit
)
;
sprintf
(
clientVersion
,
"client version"
)
;
clientVersionLen
=
sizeof
(
clientVersion
)
;
params
->
bitStream
->
ResetWritePointer
(
)
;
params
->
bitStream
->
Write
(
iVersion
)
;
params
->
bitStream
->
Write
(
byteMod
)
;
params
->
bitStream
->
Write
(
byteNameLen
)
;
params
->
bitStream
->
Write
(
szNickName
,
byteNameLen
)
;
params
->
bitStream
->
Write
(
uiChallengeResponse
)
;
params
->
bitStream
->
Write
(
byteAuthBSLen
)
;
params
->
bitStream
->
Write
(
pszAuthBullshit
,
byteAuthBSLen
)
;
params
->
bitStream
->
Write
(
clientVersionLen
)
;
params
->
bitStream
->
Write
(
clientVersion
,
clientVersionLen
)
;
}
;
return
true
;
}

оно работает только .sf ? или будет с asi
 
Ответить с цитированием

  #4  
Старый 16.09.2024, 19:03
XRLM
Познавший АНТИЧАТ
Регистрация: 06.09.2021
Сообщений: 1,646
С нами: 2466635

Репутация: 133


По умолчанию

Цитата:
Сообщение от 0x1146fd  

оно работает только .sf ? или будет с asi
только сф, для аси есть ракхуки
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.