Драйвер-фильтр мыши и клавы

Тема в разделе "WASM.NT.KERNEL", создана пользователем warsem, 21 сен 2009.

  1. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    Когда то встал вопрос и выяснилось, что выход из проблемы один - это драйвер
    Начал штудировать уроки Four-F. Еще не прошел все статьи, но думаю текущих знаний(которые даютца в статье) уже достаточно, что бы начать писать то, что мне нужно.

    А собственно цель: написать драйвер, который будет имитировать действия юзера с клавиатуры и мыши.
    Т.е. устройство, которе будет только для записи.

    Я так понимаю, в процедуре DriverEntry нужно описать две какую-то MajorFunction, что бы можно писать в устройство . Предпологаю, что IRP_MJ_*_KEYBOARD и IRP_MJ_*_MOUSE. Так же предпологаю, что придетца найти родные драйвера мыши/клавы и что-то с ними наколдовать.
    Но откровенно говоря, я по статье прочитал, как устроен драйвер и как сделать каркас, но не имею ни какого понятия, что делать дальше.

    Дайте плиз совет
    Дайте плиз описание-что делать
    Помогите одним словом.
     
  2. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Для начало почитать вот это
    http://www.wasm.ru/forum/viewtopic.php?id=29640

    "Внутреннее устройство Выни" вообще книга уматовая. Если ее захочешь почитать то скачивай боевой комплект IT, там она в отличном качестве.
     
  3. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    А может кто-нить просто словами описать какие из функций описать и что в них там делать?
    А дальше уже думаю я разберусь. Мне прост саму затею понять бы..
     
  4. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Что бы разобраться тебе как раз и нужно прочесть эту книгу.

    Я сейчас тоже дров разрабатываю и читаю эту книгу.
     
  5. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    DDK + исходники из DDK + Programming the Microsoft Windows Driver Model (Walter Oney) к примеру + google
    все есть в сети
     
  6. ov4inka

    ov4inka New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2008
    Сообщения:
    37
    Я, конечно, не бог в программирования ядра, но все же мне думается твоих знаний еще не достаточно, чтобы это все написать.

    Начну со сравнения цели и заголовка темы:"Драйвер-фильтр мыши и клавы" против "написать драйвер, который будет имитировать действия юзера с клавиатуры и мыши.
    Т.е. устройство, которе будет только для записи."

    Как я понял - конечной целью является эмуляция ввода данных.

    В первом случае, с драйвером-фильтром, ты предлагаешь написать драйвер, который будет падать стек драйверов мышки или клавиатуры и, создавая и посылая, "лживые" IRP-запросы имитировать нужные тебе действия.

    Во втором случае - ты хочешь написать драйвер шины, который будет создавать устройства "виртуальная мышь" или "виртуальная клава".

    У обоих способов есть свои заморочки. Но ни в одном из них ты не будешь обрабатывать IRP_MJ_*_KEYBOARD и IRP_MJ_*_MOUSE(таких вообще нет). Родные дрова также смотреть не надо!
     
  7. warsem

    warsem Сеня

    Публикаций:
    0
    Регистрация:
    26 янв 2005
    Сообщения:
    170
    Адрес:
    Германия, NRW
    Ну сорри, что не так назвал) Я прост это всё на пальцах разбирал по примерам из уроков Four-F'a.

    Я так понял, мне нужно обработаь всего одну IRP_MJ, на чтение и там посылать в порты клавы полученные скан-коды.
    Пологаю что "посылать" будет выглядеть из пары строк. И у меня всё упераетца в то, как это сделать и что куда послать(простите за пошлую двусмысленность)

    Сам скелет драйвера более менее ясен и всё науровне "найти из-за чего этот синий экран"