Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |  |
Спасиба всем! Теперь всё работает 8) 02.02.02 22:38 Число просмотров: 981
Автор: Eniac Статус: Незарегистрированный пользователь
|
|
|
|
<programming>
|
Трабл с DOSом 02.02.02 00:25
Автор: Eniac Статус: Незарегистрированный пользователь
|
Народ, подскажите чё делать... Пишу резиденты под ДОС (можно сказать, хобби такое). Но вот фигня - в ДОСе нельзя вызывать одно прерывание из другого. Ну, например: хочу написать хороший кейлогер. Для этого вешаюсь на 0x09 - прерыване. Нажимается клавиша, логер вызывается, пишет в файл, и... виснет, поскольку при записи на диск вызывается другое прерывание - 0x21. Как обойти эту хрень, и нормально записать все, что нужно? На каком языке - не важно. Хоть как-нибудь, ну очень надо...
Мыльте предложения на eniac2001@mail.ru
Зарание спасиба!
|
 |
Трабл с DOSом 02.02.02 08:30
Автор: Chingachguk <Chingachguk> Статус: Member
|
> Народ, подскажите чё делать... Пишу резиденты под ДОС > (можно сказать, хобби такое). Но вот фигня - в ДОСе нельзя > вызывать одно прерывание из другого. Ну, например: хочу > написать хороший кейлогер. Для этого вешаюсь на 0x09 - > прерыване. Нажимается клавиша, логер вызывается, пишет в > файл, и... виснет, поскольку при записи на диск вызывается > другое прерывание - 0x21. ...
Делай обработчик прерывания int 28h - он вызывается, когда писать можно:
Ставишь флажок свой в TRUE - Надо писать на диск;
Получаешь переодически прерывание Int 28h;
Уже в его обработчике:
Если флажок стоит в TRUE:
; Проверяешь флаг занятости DOS:
(Адрес получаешь заранее - об этом ниже)
lds di,dos_addr
cmp byte ptr ds:[di+1],1
ja @Не_надо_писать_счас
; Сбросить флажок и записать на диск
Получить адрес занятости:
mov ah,34h
int 21h
dec bx
mov word ptr dos_addr,bx
mov word ptr dos_addr+2,es
|
 |  |
Трабл с DOSом 02.02.02 12:44
Автор: Terrible Статус: Незарегистрированный пользователь
|
|
А еще поищи книжку Финогенова "Самоучитель по системным функциям MS-DOS" там просто прекрасно рассмотрены все эти (и не только) проблемы
|
 |  |  |
Спасиба всем! Теперь всё работает 8) 02.02.02 22:38
Автор: Eniac Статус: Незарегистрированный пользователь
|
|
|
|
|