экранная клавиатура

Тема в разделе "WASM.NT.KERNEL", создана пользователем BelowZero, 27 дек 2011.

Статус темы:
Закрыта.
  1. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    нужно создать драйвер, который при получении команды от exe в зависимости от содержания команды нажимал бы нужные клавиши клавиатуры. т.е. что-то типа экранной клавиатуры) подскажите, как это должно работать, от основных строк кода не откажусь)
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Фильтр клавиатуры пиши и делай инжект собственных клавиш.
    Про клавиатурные фильтры и на этом форуме, и не только, информации предостаточно.
     
  3. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Можно посылать из приложения драйверу IRP_MJ_DEVICE_CONTROL и при его обработке создавать свой KbFilter_ServiceCallback
     
  4. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    нигде нет инфы по "Inject клавиш". нагуглил функцию KeSetEvent() для обращения драйвера к программе, но мне нужно наоборот, от программы к драйверу. на форумах пишут, это происходит при помощи каких-то прерываний.
     
  5. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    напишите плз, как это будет выглядеть?)
     
  6. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    про обработку IRP_MJ_DEVICE_CONTROL читай здесь, на этом сайте, в цикле статей про драйверы или у Уолтера Оней
     
  7. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    я так понял, код несложный, но у меня каждая строчка вырывается зубами сквозь дебри неизведанного. отдам 350 рублей яд за описанные строки драйвера, который
    1)при получении инфы от exe имитирует нажатие клавиш мыши в зависимости от переданной инфы(включая перемещение) и клавы(включая зажатые клавиши + комбинации клавиш) и посылает обратно проге сообщение об успехе или провале +
    2)строки в ехе(желательно язык vb6) отправки инфы драйверу, какие клавиши должны быть нажаты, и получения сообщения об успехе. надеюсь на вашу помощь, скайп iamqwer
     
  8. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    BelowZero
    Не обращайте внимание на того авера, он не в курсе про виртуальные пакеты и вообще про шадов.

    Я бы решал хаком рита.
     
  9. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    скайпа нет. только аська, могу строки на дельфи а строки драйвера на асме
     
  10. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    скачал аську имя iamqwer почта 0123412340 @ mail . ru
    с этим сложновато, но можно сообразить по ходу
    на чём угодно, главное чтоб я потом мог драйвер скомпилировать и запустить)
     
  11. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    Llirik возьмётесь помочь? чтоб я мог рассчитывать...
     
  12. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    язык драйвера не так важен. основной проект я буду делать на vb6 в прикладном программировании. номер айкью 635994581
     
  13. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    да. только мне не много переделать свой код, протестировать его
     
  14. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    Llirik после трёх дней отмазок вымагает у меня больше денег за код... кто готов взяться за проект? отдам 500 рублей яд за полностью описанные строки драйвера, который
    1)при получении инфы от exe имитирует нажатие клавиш мыши в зависимости от переданной инфы(включая перемещение) и клавы(включая зажатые клавиши + комбинации клавиш) и посылает обратно проге сообщение об успехе или провале +
    2)строки в ехе(желательно язык vb6) отправки инфы драйверу, какие клавиши должны быть нажаты, и получения сообщения об успехе. +
    3) помощь в сборке драйвера
    надеюсь на вашу помощь, скайп iamqwer
     
  15. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    BelowZero
    Интересно, но это в системе реализовано и опенсурсно ;)
     
  16. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    лирик 3 дня морочил мне голову, и потом предложил купить эти строки за 6000 рублей, даже не код, ачасть кода)... бла я на vb6 это могу за 5-10 минут написать... верней уже написАл... теперь мне нужен драйвер. такой наглости я ещё не видывал...
     
  17. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    BelowZero
    Что-то не сильно понятно что- ты хочешь. Покажи свой код на вб, а лучше на С++.
     
  18. BelowZero

    BelowZero New Member

    Публикаций:
    0
    Регистрация:
    24 дек 2011
    Сообщения:
    38
    откройте Экранную Клавиатуру. она поставляется в комплекте с виндой. мне нужно то же самое. выбор нужных клавиш осуществляется в exe, отправляются драйверу, драйвер имитирует их нажатие на уровне физических устройств. будто нажатие было с реальной клавиатуры. не сложно, верно? в vb6 банальные keybd_event, mouse_event, перемещение мыши, sendkeys, SendInput, Keydown, WM_CHAR не подходят, т.к. у них недостаточно прав для имитации нажатия в защищённое окно. примерно представляю архитектуру проекта в драйвере, но абсолютно незнаком с Си и созданием драйверов
     
  19. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    BelowZero
    За 500руб врядли кто делать будет.

    Как говорил kejcerfcrv это все уже готово есть.
    Поясню на примере SendInput
    Она переходит в ядро там разбираются ее параметры.
    После чего ядро делает вызов KeUserModeCallback http://wasm.ru/article.php?article=keumc
    Которая переходит в юзермод в одном из параметров есть индекс нужной функции в массиве PEB.KernelCallbackTable

    Как я понимаю достаточно будет имитировать эти вызовы + учет контекста процессов.
    И твоя задача будет решена.
     
  20. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    XshStasX
    ТС не корректно описал задачу. Тоесть в системе есть весь нужный функционал, но он не может использоваться из за недостатка прав или иной защиты.
    BelowZero
    Начать нужно с пояснения что есть "защищённое окно" в вашем понимании ?
     
Статус темы:
Закрыта.