Заблокировать клавиатуру

Тема в разделе "WASM.ASSEMBLER", создана пользователем fenist, 15 сен 2004.

  1. fenist

    fenist New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2003
    Сообщения:
    2
    Адрес:
    Ростов на Дону
    Есть такая програмка DameWare NT Utilities - это одна из лучших утилит для удаленного администрирования в сети (Вин2к). Она ставит на удаленной машине службу, подключается к ней и начинает ее (удаленную машину) злобно мучить. Особенно заинтересовала меня такая фича - Даме умеет блокировать клавиатуру на удаленной машине. Да так, что на Ctrl+Alt+Del не реагирует! Как заблокировать клаву на машине(Под 2к,ХР)?
     
  2. dragon

    dragon New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2002
    Сообщения:
    84
    Адрес:
    Питер
    Драйвером перехватываешь irq1(вроде прерывание 31) и ставишь пустышку, т.е. минимум кода для обработки аппаратного прерывания и всё, клава работать не будет. Также можно и мышку заблокировать и дисковод с винтами и всё остальное, что на irq сидит.
     
  3. fenist

    fenist New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2003
    Сообщения:
    2
    Адрес:
    Ростов на Дону
    Буду попробовать...
     
  4. Inked Wedge

    Inked Wedge New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2004
    Сообщения:
    33
    Адрес:
    Ukraine
    Под досом еще прокатывало замаскировать IRQ1 прямо в контроллере прерываний.... в винде из ring0 тоже должно сработать :-/
     
  5. n0p

    n0p 10010000b

    Публикаций:
    0
    Регистрация:
    7 май 2003
    Сообщения:
    256
    Адрес:
    Новосиbeerск
    А если просто остановить драйвер клавы? А потом, когда надо будет, запустить. Только нужны не юзерские права.. :)
     
  6. dragon

    dragon New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2002
    Сообщения:
    84
    Адрес:
    Питер
    А адрес обработчика останется в нём(точнее в ntoskrnl, откуда управление ему передаётся), нажмёшь кнопку и вылезет синий экран.
     
  7. rsrc

    rsrc New Member

    Публикаций:
    0
    Регистрация:
    4 май 2004
    Сообщения:
    24
    Адрес:
    Russia
    Команды для 64h порта (KEYBOARD CONTROLLER):

    AEh - enable keyboard

    ADh - disable keyboard
     
  8. n0p

    n0p 10010000b

    Публикаций:
    0
    Регистрация:
    7 май 2003
    Сообщения:
    256
    Адрес:
    Новосиbeerск
    dragon

    Ты хочешь сказать, что если послать драйверу приказ на остановку, он не завершит свои дела? Или что винда на своей волне воюет и ей пофиг на отключенный драйвер, главное - кнопки обработать? Сильно сомневаюсь.
     
  9. dragon

    dragon New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2002
    Сообщения:
    84
    Адрес:
    Питер
    n0p

    Я имею в виду, что если выгрузить драйвер, то дела он завершит, а обработчик вряд ли он будет Irq1 он вряд ли будет перенаправлять куда-нибудь, т.к. тот кто его писал не думал, что его зачем-то будут выгружать. А вот про 64h порт забыл совсем, это даже удобнее, чем "Irq disabling", хотя это и универсальный метод.
     
  10. n0p

    n0p 10010000b

    Публикаций:
    0
    Регистрация:
    7 май 2003
    Сообщения:
    256
    Адрес:
    Новосиbeerск
    dragon

    Не знаю.. Если аинда не контролирует такие мелочи, то у нее в хлам кривая безопасность. А это не совсем так.



    Все-таки хотелось бы услышать мнение экспертов дровописателей.
     
  11. Inked Wedge

    Inked Wedge New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2004
    Сообщения:
    33
    Адрес:
    Ukraine
    64h порт? А вам разрешат с/в него читать/писать в протектед моде? Это зависит от 2х параметров... Думаю, что оба не в вашу пользу...
     
  12. n0p

    n0p 10010000b

    Публикаций:
    0
    Регистрация:
    7 май 2003
    Сообщения:
    256
    Адрес:
    Новосиbeerск
    Inked Wedge

    А кто запретит? Всегда можно написать сервис режима ядра и управлять им из винды. Что сложного-то?
     
  13. Inked Wedge

    Inked Wedge New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2004
    Сообщения:
    33
    Адрес:
    Ukraine
    n0p



    Хех... ты ж не знаешь, вдруг код должен переноситься без дровины или размножаться на другие машины?
     
  14. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    В любом случее, при условии ОС Win2k-xp проблема решается

    написанием простого драйвера(можно просто в процедуре инсталяции делать всё, что нужно и возвращать код ошибки для выгруза драйвера).

    Приказ на остановку всего скорее не проканает, винда зависнет(или BDS).

    dragon ты предлогаешь изменять в IDT 31h на свой адрес с IRET?