|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 8, 2004 19:58:11 Объясните почему после вызова SendMessageA из SoftIce в стэке появлятся 16 лишних байт. Как восстановить стэк после вызова этой функции. Заранее благодарен. |
|
|
Дата: Ноя 8, 2004 22:09:53 хороший вопрос! и правда, откуда они там появляются? :) может быть потому что SendMessage сама за собой стек чистит ? : пример из головы: ... esp:12fea4 | push eax esp:12fea0 | push ebx esp:12fe9с | push ecx esp:12fe98 | push edi esp:12fe94 | call SendMessageA esp:12fea4 | test eax, eax .... каждый параметр требует 4 байта стека, всего 4 штуки, соответственно всего байт 4*4=16 (12fea4-12fe94). внутри, ф-ция SendMessage перед выходом (ret) подправляет стек (add esp, 10h). это такая специальная конвенция, называется StdCall. или может быть я не правильно понял вопрос ? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.077 |