ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   эмуляция rpc без sf (https://forum.antichat.xyz/showthread.php?t=1443237)

RedHolms 31.07.2022 19:05

Пытался вызывать RakPeer::HandleRPCPacket, по примеру из RakLua, но ниче не даёт

либо косяк в имплементации, либо идея в корне неверная, тут хз

(p.s., имплементация бит стрима своя, чекал данные внутри, всё норм, проблема врятли в нём)

C++:





Код:

// полоска - разный файл/часть файла
// =====================
SampAddress

refRakPeer__HandleRPCPacket
(
0x372F0
,
0x3ADE0
)
;
// =======================
void
sampEmulateIncomingRPC
(
char
id
,
const
FJBitStream
&
bs
)
{
if
(
!
s_RakPeer
)
return
;
FJBitStream out_bs
;
out_bs
.
Write
(
(
char
)
20
)
;
out_bs
.
Write
(
id
)
;
out_bs
.
Write
(
bs
)
;
refRakPeer__HandleRPCPacket
.
get
(
)
(
s_RakPeer
,
out_bs
.
GetData
(
)
,
out_bs
.
GetSize
(
)
,
s_PlayerID
)
;
}
// ==============
// хук RakPeer::HandleRPCPacket, он работает, все rpc хандлит
static
std
::
optional

_onIncomingRpc
(
const
kthook
::
kthook_signal

&
,
RakPeer
*
&
,
const
char
*
&
data
,
int
&
,
PlayerID
&
plId
)
{
s_PlayerID
=
plId
;
return
std
::
nullopt
;
}





up

F0RQU1N and 02.08.2022 08:37

RakHook/rakhook.cpp at master · imring/RakHook

Contribute to imring/RakHook development by creating an account on GitHub.

github.com


Время: 06:50