Показать сообщение отдельно
Старый 02.02.2011, 00:31   #238
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

да мне не вызвать надо было, а хук поставить и парсить пакет без гавняканья стека, но щас не об этом, это сделал

---



проблема в том, что есть 2% шанс что что-то пойдет не так, не знаю что именно, но клиент крашится

delphi Код:
procedure ParsingFromServer; var   np:PNetworkPacket;   s:string;   p:pointer; begin try np:=tmp1;   s:=IntToHex(np.id,2)+' ';   if np.size>0 then   for i:=0 to np.size-1 do   begin   p:=Pointer(cardinal(np.data)+(i*1));   s:=s+IntToHex(byte(p^),2)+' ';   end;   except   s:=s+'ERROR PACKET';   end; end; procedure AddNetworkQueue_hook; stdcall; begin asm mov tmpPointer, ecx mov eax,  [esp+4] mov tmp1, eax end; ParsingFromServer; //если убрать вызов парсера то всё ок asm mov ecx, tmpPointer jmp AddNetworkQueue_origAddr end; end;

шо делать пасаны?

стек ведь должен очищатся после вызова парсера, что опять может быть?

Добавлено через 30 минут
короче если в парисинге делать даже цикл в котором
s:=s+' '; то уже креш может быть, втф?
__________________
Начало.

Последний раз редактировалось supernewbie, 02.02.2011 в 00:31. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием