Автор
|
Тема: блокировка для DOS
|
w3 |
опубликован 20-07-2001 02:15 MSK
Как заблокировать и разблокировать клавиатуру или мыш для DOS приложений?
|
skintwin
|
опубликован 22-07-2001 22:30 MSK
Перехватить прерывания клавиатуры и мыши и поставить iret |
server_mouse
|
опубликован 24-07-2001 23:36 MSK
А можно по-другому :-) Всё это аппаратные прерывания, поэтому можно перепрограмировать контроллер прерываний и всё. Нет нужды страдать резидентами... |
server_mouse
|
опубликован 24-07-2001 23:40 MSK
2skintwin: Простой iret завалит всю систему. Вызывается аппаратное прерывание. Обработчик обязан сообщить контроллеру прерываний о завершении его обработки (кажись чего-то в 20h порт надо скинуть). Иначе крах. |
Organic
|
опубликован 28-07-2001 21:39 MSK
а вот и хрен вам всем :) подменить прерывание не получиться, вынь не даст:)) насчет мыши не знаю, но клаву точно! и вообще какой толк в блокировке клавы с мышой и подмене прерываний? если охота подвесить комп, то вот: cli hlt но это, опять таки для RealMode, тобиш в голом досе работает |
Emerald
|
опубликован 01-08-2001 02:14 MSK
Народ верно тебе говорит - есть такая схема прерываний - 21Н. ПримерMOV AL, 00000001B ;Маскируем бит 1 - клавиатура (IRQ - схема) OUT 21h, AL ;Прощай, киска ,,, mov al, 0 out 21h, al ;Возвращаем тётю Клаву |
server_mouse
|
опубликован 04-08-2001 13:37 MSK
2Organic: блин, чел ведь писал -- для ДОС! Исесно, что для дос-сессии перепрограмировать ПКП хер дадут -- "Программа выполнила недопустимую операцию..." А винду чудесно можно подвесить кодом, большим чем твой всего на байт: cli ;глючная 9х не закрывает эту дыру, ; а может спецом оставили? a: jmp short a;ЗЫ В NT дыра залатана. Код хер пройдёт.
|