Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > еще раз о LPT (Chingachguk ;-)


Автор: man2002ua 10.1.2003, 23:08
2Chingachguk (продолжая тему)
Выяснил, что прога на Dosovskom Clippere, использует для обращения к HASPу операторы IN port/ OUT port...
Написал SYS драйвер для слежения за PARALLEL_PORT - он не показывает активности...
Ты как гуру ассемблера - не знаешь как поставить перехватчик на отдельный порт (ставить Hook из драйвера можно - но я пока только читаю об этом)

Автор: Chingachguk 11.1.2003, 01:18
Ну ежели он лезет в порты при помощи in/out, то надо делать как в softice - bpio <Номер порта>. Прерывание по доступу к порту делается через регистры DRx (доступны с 386). Сам не делал (тока в айсе пользовался), но:

1. Кажется, в Зубкове СВ есть пример с DRx;
2. На форуме bugtraq.ru некто z0 постил свой код в разделе "programming" - там он перехватывал порты винта и следил при загрузке за ними.

Сложного в этом ничего вроде нету. А, да, кажется у Касперски тоже было где-то об этом.

А почему не сделать это в айсе ? Нельзя винду ставить, что-ли ?

ЗЫ. А еще - если сделать такой бряк - легко написать эмулятор любого ключа ;)

Автор: man2002ua 11.1.2003, 01:26
я решил облЕгчить себе задачу - у меня есть драйвер готовый - переделаю, чтобы он смотрел на Hal.dll. Т.к. WinNT/2000 все делает через abstraction level, то опираясь на это я нашел, что hal.dll экспортирует ф-и READ_PORT_UCHAR, READ_PORT_BUFFER_UCHAR и т.п.
Поставлю перехватчик на эти ф-и и буду ждать только свой порт...

Автор: man2002ua 16.1.2003, 01:24
тема закрыта - ключ проэмулирован...

Автор: Chingachguk 16.1.2003, 19:10
Конгратюлейшн ! ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)