Страница 1 из 1

перехват прерывания

Добавлено: 07 май 2007, 23:40
Arpy
Не подскажите, как сделать, чтоб резидентная программа хватала прерывание "09H (клавиатура)" и по ctrl+d уходила бы по метке?

Re: перехват прерывания

Добавлено: 08 май 2007, 03:30
Ramzey
В двух словах.
1. Перехватываешь 9-й инт.
- читаешь адрес текущего 9-го инта,
- сохраняешь его,
- запрещаешь прерывания и записываешь адрес своего обработчика,
- оставляешь резидентный код в памяти, разрешаешь прерывания.
2. Обработчик 9-го инта
- сохраняешь ВСЕ!!! (хотябы регистры)
- читаешь скан-код,
- если это "ctrl-d" - делаешь свои темные дела,
- восстанавливаешь ВСЕ,
- кладешь в стек сохраненный адрес родного обработчика,
- делаешь iret - передаешь ему управление.

Вот примерно так. Может что и забыл.

Re: перехват прерывания

Добавлено: 08 май 2007, 15:35
Arpy
а можно какойнить пример посмотреть?

Re: перехват прерывания

Добавлено: 08 май 2007, 17:39
Ramzey
Вот пособие по резидентам и не только ;)
http://www.ishodniki.ru/base/ASM/virus.zip
Просьба не увлекаться.

Re: перехват прерывания

Добавлено: 08 май 2007, 17:45
Arpy
хехе))
пасиба, интересно поглядеть