При всех этих проверках программа просматривает диск по секторам непосредственно через BIOS и не использует прерывания Int 21h и Int 13h, что позволяет успешно обнаруживать активные маскирующиеся вирусы, находящиеся в памяти и взявшие на себя эти жизненно важные прерывания.
Проверки, производимые ревизором
При первом запуске программа запоминает объем оперативной памяти, находит и запоминает адрес обработчика прерывания Int 13h в BIOS, который будет использоваться при всех последующих проверках, и строит таблицы для проверяемых дисков. При этом проверяется, показывал ли вектор прерывания 13h в BIOS перед загрузкой DOS.
При последующих запусках программа проверяет диски в следующей последовательности:
— Проверяется объем оперативной памяти, доступной DOS, и переменные BIOS.
— Проверяются MASTER-BOOT BOOT MASTER-BOOT сектор проверяется при проверке логического диска С:, а на машинах IBM PC AT D: (для второго физического винчестера). Если обнаружены изменения этих секторов, то можно в режиме диалога сравнить системные таблицы, которые были до и после изменения, и по желанию восстановить прежний сектор. После восстановления измененный сектор сохраняется В файле на диске для последующего анализа.
— Проверяется список номеров сбойных кластеров. Некоторые вирусы помечают хороший кластер как сбойный и "селятся" в нем. ADinf предупредит вас об этом.
— Проверяется дерево каталогов диска. Ищутся вновь заведенные и уничтоженные подкаталоги.
— Проверяются файлы. Ищутся новые, удаленные с диска, переименованные, перемещенные из одного подкаталога в другой и изменившиеся файлы. Проверяется изменение длины и контрольной суммы файла.
Изменения анализируются и, если они по мнению программы, "безобидные", т. е. изменения файлов сопровождаются изменением даты и времени файла, то программа поместит информацию об изменениях в список, который можно просмотреть в режиме диалога или записать на диск в виде протокола проверки. Если же происходят "подозрительные" изменения, то программа предупредит вас о возможности заражения вирусом.
К "подозрительным" изменениям относятся:
— Изменение файла без изменения даты и времени (как поступают большинство из грамотно написанных вирусов);
— Изменение файла с появлением странной даты (число больше 31, месяц больше 12 или год больше текущего). Такими датами некоторые вирусы "помечают" зараженные файлы.
— Изменение файла с появлением странного времени (минут больше 59, часов больше 23 или секунд больше 58).
— Изменение файла, имя которого указано в списке неизменяемых файлов.
Требования к оборудованию
Программа работает на IBM PC XT AT и PS2 с одним пли двумя жесткими дисками и с одним или двумя дисководами для гибких дисков. Программа тестировалась в среде MS-DOS, PC-DOS версии 3.20 — 6.02, а также в среде DR-DOS 5.00 и 6.00. Novell DOS 7.00 и Compaq-DOS 3.31. Программа работает непосредственно с видеопамятью, минуя BIOS. Поддерживаются все графические адаптеры (Hercules, CGA, EGA, VGA). Обеспечивается полная совместимость с MS Windows, DESQview, кэшем HyperDisk версий больше 4.50.
Использование программы
Программа ADinf может запускаться
— из файла AUTOEXEC.BAT;
— из командной строки DOS.
Запуск ADinf из файла AUTOEXEC ВАТ
Для запуска программы ADinf в процессе загрузки машины в файл AUTOEXEC.BAT необходимо добавить строку вида (этот вызов добавляется в файл AUTOEXEC.BAT автоматически при инсталляции программы):
ADinf — d — a — b — l [каталог для протокола>] <диск> [<диск>… <диск>]
Например, предполагая, что программа записана в каталоге C: \ADINF.
Более подробно ключи программы рассмотрены ниже.
Запуск ADinf из командной строки DOS
При запуске из командной строки Advanced Diskinfoscope ADinf может работать в пакетном и диалоговом режимах.
Запуск в пакетном режиме
В пакетном режиме ADinf последовательно проверяет диски в соответствии с параметрами, ладанными в командной строке. Для запуска ADinf в пакетном режиме необходимо набрать команду вида:
>ADinf [<ключ>…<ключ>] <диск> [<диск>…<диск>]
Например, если набрать команду
>C: \ADINF\ADinf С: D: Е:,
то будут последовательно проверены диски С: D: и E:. В этом примере предполагается, что программа ADinf находится в подкаталоге ADINF.
Ключи программы
Ключи программы задаются в командной строке. Они должны начинаться со знака "-" или "/" и могут задаваться как маленькими, так и заглавными буквами. Знаком "*" помечены ключи, работающие только в пакетном режиме запуска программы ADinf.
1) * Ключ — а устанавливает режим для AUTOEXEC.BAT, в котором исключены некоторые малозначащие диалоговые остановки.
2) * Ключ — Ь отменяет закрашивание фона экрана и оставляет "прозрачный" фон. Такой режим, на наш взгляд, улучшает эстетическое восприятие программы при запуске в файле AUTOEXEC.BAT.
3) Ключ — сl[<путь>] позволяет записать протокол проверки на диск в каталог, указанный после ключа — cl. Например — clC: \ADINF\. Если указать ключ — cl без пути, то протокол будет записан в текущий каталог. Если файл с протоколом существует, то протокол дописывается в существующий файл. Протокол проверки можно также записать, не задавая ключа — cl, а выбрав вариант "Записать протокол изменений" из меню после просмотра результатов проверки диска.
4) Ключ — co[lor] — использовать цвета для цветного монитора.
5) * Ключ — d включает режим работы 1 раз в сутки, что экономит ваше время при перезагрузках, если вызов программы ADinf стоит в файле AUTOEXEC.BAT.
6) Ключ — е — не ставить атрибут Hidden файлам с таблицами.
7) Ключ — f включает режим быстрой проверки без расчета контрольных сумм файлов. В этом режиме невозможно обновление информации в таблице. Этот ключ аналогичен включению опции "Режим fast" в диалоговом режиме работы программы.
8) Ключ — g — отменить контроль Hard Disk Parameter Table в области переменных BIOS.
9) Ключ — i включает "информационный" режим, при котором после проверок диска таблицы не обновляются. Этот ключ аналогичен включению опции "Режим info" в диалоговом режиме работы программы. Нельзя использовать одновременно ключи — i и — d.
10) Ключ — l|<путь>] позволяет записать протокол проверки на диск в каталог, указанный после ключа — l. Например — lC: \ADINF\. Если указать ключ — l без пути, то протокол будет записан в текущий каталог. От ключа — cl отличается тем, что дозапись в существующий файл не производится и файл протокола замещает существовавший.
11) Ключ — m — не использовать мышь.
12) Ключ — mo[no] — использовать цвета для монохромного монитора. ADinf автоматически определяет, цветной или монохромный монитор присутствует в системе. Однако, если вы хотите на цветном мониторе получить черно-белое изображение, используйте этот ключ.