И так всем привет!
Столкнулся с проблемой...
Если с сервер приходит пакет (например если на сервере сделать новый пакет, которого нету в клиенте по умолчанию) мы его анализируем и выполняем какой то код..
В общем что есть...
Структура NetworkPacket
по идеи так. (не знаю правильно или нет, так как до этого только рисованием в клиенте занимался)
Код:
struct NetworkPacket
union
id db ?
align_ dd ?
ends
cb dd ?
data db ?
ends
Так же по каком то примере от GoldFish на С++ был какой то хук
Я его попытался переделать в ФАСМ
Код:
proc DispatchNetworkQueueHook
push esp+04h
call [pDispNetwork]
test eax,eax
jz skip_
mov edx,[esp+4]
push eax
push edx
stdcall DrawPackets
pop eax
skip_:
ret 4
endp
Что делать дальше?
Этот хук надо сплайсить с
Код:
szDispNetwork db '?DispatchNetworkQueue@UNetworkHandler@@UAEHPAPAUNetworkPacket@@@Z',0
...
..
GetProcAddress([pEngine],szDispNetwork) ; pDispNetwork:=GetProcAddress(pEngine,szDispNetwork);
mov dword [pDispNetwork], eax
Подскажите пожалуста алгоритм что за чем, и если можете примеры....
Заранее спасибо