Показать сообщение отдельно
Старый 20.04.2011, 10:15   #17
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Не будет это работать)
в pk у тебя будет адрес возврата из процедуры.
Нада чето типа того:
push ebp
mov ebp, esp
mov eax,[ebp+8]
pop ebp
mov pk, eax
где в [ebp+8] пропускаем в стеке адрес возврата 4 байта и еще 4 сохраненого нами ебп. Если вызываеш через call то придетса отступить еще на один адрес возврата [ebp+12]

Добавлено через 6 минут
И разумеетса после этих хуков ты обязан восстановить указатиль стека в соответствии с соглашениями вызова cdecl

Добавлено через 10 минут
Ах и да, если хукашеш диспатч то там еще и проверка нужна) она вызываетса в тике клиента около 100 раз в секунду в активном режиме и намного менше в неактивном, при этом в зависимости от плотности траффика от 99% до 10% она вызываетса вхолостую. Тоесть в ней пакета нет и нада проверять есть ли там пакет чтоб сразуже не словить генерал протекшн фолт
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 20.04.2011 в 10:15. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием