![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по хукам
Piter © (2004-11-27 23:54:00)Установка хука производится с помощью
SetWindowsHookEx, при этом туда передается адрес функции, которая будет вызываться при возникновении определенного события, в зависимости от типа хука.
Но ведь ставится то хук в одном процессе, где адрес функции может быть одним, а событие происходит в другом процессе. При этом библиотека проецируется на адресное пространство удаленного процесса и функция вызывается в контексте потока удаленного процесса. Но ведь там адрес этой функции может быть совсем другим (если библиотека будет загружена по другому базовому адресу). И получается при несовпадении в удаленном процессе будет вызвано непонятно что.
Это действительно так?
Piter (2004-11-29 16:42:00) [1]VMcL © (29.11.04 7:35) [4]
Ок, в общем так и думал... Спасибо!
VMcL (2004-11-29 07:35:00) [2]>> Piter © (28.11.04 00:25) [2]
Потому что функция SetWindowsHookEx "знает" из какого процесса ее вызвали и после загрузки DLL в ВАП другого процесса корректирует адрес вызова перед оным.
Piter (2004-11-29 00:13:00) [3]Удалено модератором
Примечание: Создание пустых сообщений
Piter (2004-11-28 00:25:00) [4]Игорь Шевченко © (28.11.04 0:20) [1]
Нет
Ну Игорь! Я понимаю что лаконичность - это хорошо. Но все таки - почему я не прав?
Игорь Шевченко (2004-11-28 00:20:00) [5]
> Это действительно так?
Нет