|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 17, 2003 13:05:21 · Поправил: Безпощадный даос Как осуществить вызов из Ring0(kmd) процедуры в Ring3? Это общий вариант вопроса. Более частный : как вызвать ф-ции Crypto API из драйвера? P.S. Как изменить название темы ? |
|
|
Дата: Ноя 17, 2003 15:16:26 Название темы может изменить только модератор |
|
|
Дата: Ноя 17, 2003 17:18:13 [ MoKC0DeR: Как осуществить вызов из Ring0(kmd) процедуры в Ring3? ] Нужно переключится на адресный контекст процесса в котором сидит модуль экспортирующий эти функции, если ты конечно уже не в нем. Это просто Доступ к памяти другого процесса из драйвера. Найти адрес нужного модуля, например вызвав ZwQuerySystemInformation. Найти адрес функции, например через экспорт и вызывать эту функцию по указателю. Если вызываемая функция делает какие-нить внешние вызовы, например из kernel32.dll или не дай бог из user32.dll, то тут хрен знает что будет, но наверное ничего хорошего :-) И еще одна проблема - размер стека ядра всего несколько страниц. Так что эта функция запросто можно его переполнить. Но сам я такого никогда не делал. |
|
|
Дата: Ноя 18, 2003 10:38:57 Four-F Спасибо. Попробую. Драйвер EFS использует crypto API через LPC. Мне надо написать драйвер умеющий делать примерно тоже самое, только использоваться будет не для файловых систем. Может у кого есть пример использования LPC ? |
|
|
Дата: Ноя 18, 2003 14:32:44 У Гарри Неббета (Native API Reference) в главе "12 Ports (Local Procedure Calls)" есть простой и понятный пример "Example 12.1: Connecting to a Named Port" |
|
|
Дата: Ноя 18, 2003 19:06:57 Не только. В старой доброй Undocumented Windows NT тоже есть описание LPC. А я собираюсь писать драйвер-перехватчик LPC. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.067 |