информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыВсе любят медПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] SendInput спасет отца русской демократии 16.03.05 15:01  Число просмотров: 2425
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Уважаемые коллеги! Помогите!
> Необходимо написать драйвер, который общается с некоей
> железякой на ISA ииногда, по результатам этого общения
> каким-то способом помещает данные в поток SCAN-кодов (т.е.
> является для системы второй клавиатурой). Приходит на ум
> написать filter в вершине стека (над kbdclass), но этот
> путь ужасает своей громоздкостью. Наверняка есть простой
> путь решить такую проблему. Подскажите,pls!
Во всяком случае устаревшие keybd_event и mouse_event используют именно его
Экспортируется из user32, является сервисом win32 подсистемы (win32k.sys) посему можно использовать и из ядра (в частности на WinXP SP0 номер сервиса: 0x11f6).
<programming>
[C++] Две клавиатуры на одной машине 16.03.05 13:43  
Автор: Pavel!!! Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Уважаемые коллеги! Помогите!
Необходимо написать драйвер, который общается с некоей железякой на ISA ииногда, по результатам этого общения каким-то способом помещает данные в поток SCAN-кодов (т.е. является для системы второй клавиатурой). Приходит на ум написать filter в вершине стека (над kbdclass), но этот путь ужасает своей громоздкостью. Наверняка есть простой путь решить такую проблему. Подскажите,pls!
[C++] SendInput спасет отца русской демократии 16.03.05 15:01  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Уважаемые коллеги! Помогите!
> Необходимо написать драйвер, который общается с некоей
> железякой на ISA ииногда, по результатам этого общения
> каким-то способом помещает данные в поток SCAN-кодов (т.е.
> является для системы второй клавиатурой). Приходит на ум
> написать filter в вершине стека (над kbdclass), но этот
> путь ужасает своей громоздкостью. Наверняка есть простой
> путь решить такую проблему. Подскажите,pls!
Во всяком случае устаревшие keybd_event и mouse_event используют именно его
Экспортируется из user32, является сервисом win32 подсистемы (win32k.sys) посему можно использовать и из ядра (в частности на WinXP SP0 номер сервиса: 0x11f6).
У меня так и сделано в старой версии в в юзер-моде(под... 16.03.05 16:21  
Автор: Pavel!!! Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Во всяком случае устаревшие keybd_event и mouse_event
> используют именно его
> Экспортируется из user32, является сервисом win32
> подсистемы (win32k.sys) посему можно использовать и из ядра
> (в частности на WinXP SP0 номер сервиса: 0x11f6).
У меня так и сделано в старой версии в в юзер-моде(под Win98), а как его(SendInput) использовать
из ядра?
зы: Надо, чтобы работало под nt4, win2000, XP и т.д.
C nt4 в этой линейке всегда проблемы :-) 16.03.05 19:33  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> зы: Надо, чтобы работало под nt4, win2000, XP и т.д.
Начиная с w2k и WDM появился и win32k.sys в ядро вынесена. В общем скорее всего придется писать отдельно под w2k+ и отдельно под nt4

А из ядра, как я уже сказал используется так же как все системные сервисы. Номер сервиса можно подглядеть только в user32 (потому как оттуда экспортируется SendInput). К счастью сделать это автоматически не составляет труда. А вот для вызова системного сервиса из ядра нужно подготовить все параметры и сделать сделать

call nt!KiSystemService

Его адрес можно тоже подглядеть в любой ZwXxx функции (в режиме ядра). И сделать это тоже можно автоматически
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach