[IDT View] Кароче вот накодилось такое Разработка в чисто образовательных целях. Просматривалка IDT. [Возможности] 1)Проверка входов идт на предмет изменений. Информация подробная (учитывается не только смещение, но и селектор). 2)Просмотр (если возможно _KINTERRUPT) 3)Просмотр GDT bin http://dump.ru/file/2347632 --- добавлено 16.03 кое-что поменяла, теперь адекватней. KINTERRUPT сразу показывает в главном окне, если оно есть. По двойному щелчку - доп инфо о KINTERRUPT Сорцы в скором времени будут драйвера и прожки, как только в порядок их приведу. Описание алго тоже сделаю нормальное, если надо. Пока хотелось бы потестить на стабильность. Если заглючит/забсодит, сразу делайте скрин/заливайте крешдамп, буду исправлять. Заранее спасибо
Обновила. Теперь можно просматривать все KINTERRUPT, в контекстном меню все есть. Копирование записей в буфер обмена добавила, восстановление дефолтных обработчиков. Потестила у себя на тех системах, что были. Вот как-то так
Прикольно, щас подобное на асме пишу... но там задачка по легче вывести количество свободных прерываний и адрес первого свободного ) мне просто интересно и чем эта программа может быть полезна?
>>щас подобное на асме пишу... но там задачка по легче вывести количество свободных прерываний и адрес первого свободного ) 10 строчек кода. 1 инструкция sidt, а дальше цикл от 0 до 255 с проверкой "если не trap/tss/int, inc count". Задача не схожа кстати с моей. Вообще, изначально мне просто хотелось KINTERRUPT все посмотреть и входы с учетом селектора. Вот и написалось. Скажем, например, восстановление дефолтного обработчика мб полезно, если кто-то похукал что-то. Обычно неудобно, что показывают часть информации об IDT, например только хуки (RKU). Или как у Syser по команде idt (ну или в меню Information->Idt) без KINTERRUPT. А так вроде все вместе и расчет адреса сразу с базой сегмента. У кого-то вероятно возник вопрос насчет kd (!idt). Да, kd показывает KINTERRUPT, модуль,содержащий обработчик и etc. Однако селектор я как поняла он для TSS показывает, а если это дескриптор шлюза прерывания, то уже смотрит только на смещение. А так, конечно, kd удобен для просмотра.
хм, сейчас скачала эту тулзу v1.2.1(до этого о ней не слышала). Не особенно удобно. И как-то я не увидела, чтобы оно по KINTERRUPT проходило. Например прерывание 0xB4 на моей машине. вот что выдает упомянутая вами утилита вот, что выдает мой кодес Вывод - они просто смотрят на сами входы и не учитывают того, что могут иметь дело с KINTERRUPT. Вся фишка втом, что одно прерывание могут использовать несколько дров. Поэтому обязательно надо проверять список структур KINTERRUPT, смотреть адреса обработчиков и уже потом проверять какому модулю они принадлежат. Написать "неизвестный модуль" проще всего конечно. А там на самом деле не неизвестный модуль а несколько дров, которые заюзали IoConnectInterrupt.