Программинг Форум для тем связанных с программированием
02.02.2011, 00:50
#241
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
Цитата:
Сообщение от
supernewbie
лучше скажи, что делать,
Цитата:
Сообщение от
destructor
пропиши его и все извращения со стеком компилятор сделает сам
ау
Добавлено через 1 минуту
еще вызов так сделай
push param;
mov ecx, tmpPointer
call [AddNetworkQueue_origAddr]
__________________
Шожиделать.. ботить хочется..
Последний раз редактировалось destructor, 02.02.2011 в 00:50 .
Причина: Добавлено сообщение
02.02.2011, 00:55
#242
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
тоже самое, крит идет в гиране при прогрузе
__________________
Н а ч а л о .
02.02.2011, 00:57
#243
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
Цитата:
Сообщение от
supernewbie
AddNetworkQueue_hook
показывай что получилось
__________________
Шожиделать.. ботить хочется..
02.02.2011, 00:58
#244
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
procedure AddNetworkQueue_hook(np:PNetworkPacket); stdcall;
begin
asm
mov tmpPointer, ecx
end;
ParsingFromServer(np);
asm
push np;
mov ecx, tmpPointer
call [AddNetworkQueue_origAddr]
end;
end;
__________________
Н а ч а л о .
02.02.2011, 01:00
#245
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
Цитата:
Сообщение от
supernewbie
ParsingFromServer(np);
зачем эта хрень, если ты имееш полный доступ к пакету?
__________________
Шожиделать.. ботить хочется..
02.02.2011, 01:02
#246
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
всмысле? если делать парсинг прямо в хук процедуре то стек загадится же
__________________
Н а ч а л о .
02.02.2011, 01:05
#247
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
нафига тебе тут нужен стек?
Добавлено через 1 минуту
np:PNetworkPacket тут все есть, в стек лазить не надо
__________________
Шожиделать.. ботить хочется..
Последний раз редактировалось destructor, 02.02.2011 в 01:05 .
Причина: Добавлено сообщение
02.02.2011, 01:05
#248
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
тут это где? ну тут впринципе да, тут всего один поинтер... но криты не из-за этого, наверное... думаешь надо перенести?
__________________
Н а ч а л о .
02.02.2011, 01:13
#249
Рыцарь
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
у тебя маниакальная привычка все усложнять.
Добавлено через 1 минуту
потренеруйся на любой __stdcall функции с одним параметром
тут отличие только сохранить регистр ecx
Добавлено через 1 минуту
Цитата:
Сообщение от
supernewbie
procedure
функция!!! возвращает integer
__________________
Шожиделать.. ботить хочется..
Последний раз редактировалось destructor, 02.02.2011 в 01:13 .
Причина: Добавлено сообщение
02.02.2011, 01:20
#250
Местный
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
Цитата:
Сообщение от
destructor
у тебя маниакальная привычка все усложнять.
Добавлено через 1 минуту
потренеруйся на любой __stdcall функции с одним параметром
тут отличие только сохранить регистр ecx
потренироватся в чём?
Добавлено через 1 минуту
функция!!! возвращает integer
так всё ок:
delphi Код:
function AddNetworkQueue_hook( np:PNetworkPacket) : integer ; stdcall;
begin
asm
mov tmpPointer, ecx
end ;
ParsingFromServer( np) ;
asm
push np;
mov ecx, tmpPointer
call [AddNetworkQueue_origAddr]
end ;
end ;
так всё не ок:
delphi Код:
function AddNetworkQueue_hook( np:PNetworkPacket) : integer ; stdcall;
var
s:string ;
p:pointer ;
b:byte ;
begin
asm
mov tmpPointer, ecx
end ;
try
s:=IntToHex ( np.id ,2 ) +' ' ;
if ( np.size >0 ) and ( np.size <6000 ) then
for i:=0 to np.size -1 do
begin
p:=Pointer ( cardinal ( np.data ) +i) ;
b:=Byte ( p^) ;
s:=s+IntToHex ( b,2 ) +' ' ;
end ;
writeLn ( 'FromServer:' +s) ;
except
end ;
asm
push np;
mov ecx, tmpPointer
call [AddNetworkQueue_origAddr]
end ;
end ;
но при этом проблема с критами всё равно осталась!
__________________
Н а ч а л о .
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 12:02 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!