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

  #10  
Старый 16.04.2025, 17:46
Byte
Новичок
Регистрация: 20.11.2006
Сообщений: 9
С нами: 10248157

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

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

пытаюсь поставить хук на UpdateNetwork, но когда отправляю ракнет пакеты ничего не работает

zalupa code:





Код:
void
CNetGame__UpdateNetwork__HOOK
(
const
decltype
(
CNetGame__UpdateNetwork_Hook
)
&
hook
,
void
*
_this
)
{
Packet
*
packet
=
nullptr
;
uint8_t
*
localdata
=
nullptr
;
uint8_t
state
{
}
;
for
(
packet
=
sampapi
::
v037r3
::
RefNetGame
(
)
->
m_pRakClient
->
Receive
(
)
;
packet
;
packet
=
sampapi
::
v037r3
::
RefNetGame
(
)
->
m_pRakClient
->
Receive
(
)
)
{
localdata
=
packet
->
data
;
switch
(
state
)
{
localdata
=
packet
->
data
;
if
(
*
localdata
==
40
)
state
=
localdata
[
5
]
;
case
223
:
{
RakNet
::
BitStream
bs
(
(
unsigned
char
*
)
packet
->
data
,
packet
->
length
,
false
)
;
uint8_t
packetID
;
uint32_t
rpcID
;
bs
.
Read
(
packetID
)
;
bs
.
Read
(
rpcID
)
;
if
(
rpcID
==
15
)
{
sampapi
::
v037r3
::
RefChat
(
)
->
AddChatMessage
(
"я тормоз"
,
0xFFFFFFFF
,
"я тормоз"
)
;
return
;
}
break
;
}
default
:
break
;
}
}
return
hook
.
call_trampoline
(
_this
)
;
}
void
hooks
::
install_tormoz_updatenetwork_hook
(
)
{
CNetGame__UpdateNetwork_Hook
.
set_dest
(
0xAF20
)
;
CNetGame__UpdateNetwork_Hook
.
set_cb
(
&
CNetGame__UpdateNetwork__HOOK
)
;
CNetGame__UpdateNetwork_Hook
.
install
(
)
;
}

C++:





Код:
void
CNetGame__UpdateNetwork__HOOK
(
const
decltype
(
CNetGame__UpdateNetwork_Hook
)
&
hook
,
void
*
_this
)
{
Packet
*
packet
=
nullptr
;
for
(
packet
=
sampapi
::
v037r3
::
RefNetGame
(
)
->
m_pRakClient
->
Receive
(
)
;
packet
;
packet
=
sampapi
::
v037r3
::
RefNetGame
(
)
->
m_pRakClient
->
Receive
(
)
)
{
uint8_t
packetID
=
packet
->
data
[
0
]
;
if
(
packetID
==
40
)
{
RakNet
::
BitStream
bs
(
(
unsigned
char
*
)
packet
->
data
,
packet
->
length
,
false
)
;
bs
.
Read
(
packetID
)
;
uint16_t
rpcID
;
bs
.
Read
(
rpcID
)
;
if
(
rpcID
==
15
)
{
sampapi
::
v037r3
::
RefChat
(
)
->
AddChatMessage
(
"RPC 15 получен"
,
0xFFFFFFFF
,
"Отладка"
)
;
}
}
else
if
(
packetID
==
223
)
{
sampapi
::
v037r3
::
RefChat
(
)
->
AddChatMessage
(
"Пакет 223 получен"
,
0xFFFFFFFF
,
"Отладка"
)
;
}
}
return
hook
.
call_trampoline
(
_this
)
;
}
void
hooks
::
install_tormoz_updatenetwork_hook
(
)
{
CNetGame__UpdateNetwork_Hook
.
set_dest
(
0xAF20
)
;
CNetGame__UpdateNetwork_Hook
.
set_cb
(
&
CNetGame__UpdateNetwork__HOOK
)
;
CNetGame__UpdateNetwork_Hook
.
install
(
)
;
}


state не устанавливается перед switch, а внутри первого case
 
Ответить с цитированием
 





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...