void** UNetworkHandler_AddNetworkQueue = (void**)(hEngine + CalcOffset(0x20554600)); // ?AddNetworkQueue@UNetworkHandler@@UAEHPAUNetworkPacket@@@Z 0x20554600 - helios
void** UNetworkHandler_vftable = (void**)(hEngine + CalcOffset(0x2072E94C)); // ??_7UNetworkHandler@@6BUObject@@@ 0x2072E94C - helios 0x72D74C
void** UNetworkHandler_OutgoingPacket = (void**)(hEngine + CalcOffset(0x2072DF98)); // 0x2072DF98 - helios 0x72CD98
char buf[1024];
/*
[29384] UNetworkHandler_AddNetworkQueue Offset=0x20554600
[29384] UNetworkHandler_vftable Offset=0x2072e94c
[29384] UNetworkHandler_OutgoingPacket Offset=0x2072df98
*/
wsprintfA(buf, "UNetworkHandler_AddNetworkQueue Offset=0x%x", UNetworkHandler_AddNetworkQueue);
OutputDebugStringA(buf);
wsprintfA(buf, "UNetworkHandler_vftable Offset=0x%x", UNetworkHandler_vftable);
OutputDebugStringA(buf);
wsprintfA(buf, "UNetworkHandler_OutgoingPacket Offset=0x%x", UNetworkHandler_OutgoingPacket);
OutputDebugStringA(buf);
(FARPROC&)true_UNetworkHandler_OutgoingPacket = FARPROC(*UNetworkHandler_OutgoingPacket);
OutputDebugStringA("true_UNetworkHandler_OutgoingPacket!");
(FARPROC&)UNetworkHandler_OutgoingPacket = (FARPROC)*UNetworkHandler_OutgoingPacket_hook;
OutputDebugStringA("UNetworkHandler_OutgoingPacket_hook!");
void** incomming = (UNetworkHandler_vftable + 0x22);
(FARPROC&)(incomming) = (FARPROC)*UNetworkHandler_IncommingPacket_hook;
OutputDebugStringA("UNetworkHandler_IncommingPacket_hook!");Code: C++
Вот еще одна проблемка, код выполняется, но никакого перехвата нет и в помине, однако если пытаюсь сделать так:
void** incomming = (UNetworkHandler_vftable + 0x22);
*incomming = (void*)UNetworkHandler_IncommingPacket_hook;Code: C++
Получаю зависание при старте и соответственно ничего не работает. Где ошибка не могу понять, при этом на хф код работает нормально такой.