Вирусы проявляют себя различными способами: проигрывают ме-
 лодии, выводят на экран посторонние картинки и надписи, имити-
 руют аппаратные сбои, заставляя дрожать экран. Но, к сожалению,
 чаще всего вирусы специально себя не обнаруживают. К антиви-
 русным программам прилагаются каталоги с описаниями вирусов
 (для AidsTest они хранятся в файле aidsvir.txt, для DrWeb -
 в файле virlist.web). Наиболее полным является гипертекстовый
 каталог avpve, входящий в состав антивирусного пакета Е. Каспер-
 ского. В нем можно не только прочитать достаточно подробное
 описание любого вируса, но и понаблюдать его проявления.
От настоящих вирусов следует отличать так называемые "студен-
 ческие шутки", особенно широко распространенные на компью-
 терах ВУЗов и школ. Как правило, это резидентные программы,
 которые периодически производят напоминающие работу виру-
 сов видео- и аудиоэффекты. В отличие от настоящих вирусов,
 эти программы не умеют размножаться. Наличие такого рода
 программ на "бухгалтерских" компьютерах маловероятно.
б) Очень часто сбои вызываются вирусами не преднамеренно,
 а лишь в силу их несовместимости с программной средой, возни-
 кающей из-за наличия в алгоритме вируса ошибок и неточнос-
 тей. Если какая-либо программа "зависает" при попытке запуска,
 существует очень большая вероятность, что именно она и зараже-
 на вирусом. Если компьютер "виснет" в процессе загрузки (пос-
 ле успешного завершения программы POST), то при помощи по-
 шагового выполнения файлов config.sys и autoexec.bat (клавиша
 F8 в DOS 6.x) можно легко определить источник сбоев.
4. Не перегружая компьютер, запускаем (можно прямо с винчестера)
 антивирус, лучше всего DrWeb с ключом /hal. Вирус (если он есть)
 попытается немедленно заразить DrWeb. Последний достаточно на-
 дежно детектирует целостность своего кода и в случае чего выведет
 сообщение "Я заражен неизвестным вирусом!" Если так и произой-
 дет, то наличие вируса в системе доказано. Внимательно смотрим на
 диагностические сообщения типа "Файл такой-то ВОЗМОЖНО за-
 ражен вирусом такого-то класса" (СОМ, EXE, TSR, BOOT, MACRO
 и т.п.). Подозрения на ВООТ-вирус в 99% бывают оправданы.
Однажды DrWeb 3.20 "ругался" на ВООТ-сектор дискеты, "вылечен-
 ной" AidsTest от вируса LzExe, поэтому антивирусным программам
 тоже не всегда можно доверять. Наличие большого количества фай-
 лов, предположительно зараженных вирусом одного и того же клас-
 са, с большой достоверностью указывает на присутствие в компьюте-
 ре неизвестного вируса. Но могут быть и исключения - DrWeb
 версии 3.15 и ниже активно "ругался" на стандартные DOC-компо-
 ненты WinWord 2.0.
Кроме того, DrWeb определяет наличие в памяти компьютера неиз-
 вестных резидентных вирусов и Stealth-вирусов. Ошибки при их
 определении (в последних версиях антивируса) достаточно редки.
 Версия 3.15, не умеющая лечить вирус Kaczor, исправно заподозри-
 ла наличие агрессивного резидента в памяти. Версия же 3.18, умею-
 щая его лечить, в инфицированной системе вообще ничего не заме-
 тила, а детектировала и вылечила вирус лишь при загрузке с чистой
 дискеты. При этом нужно иметь в виду, что предупреждения типа
 "Странная дата файла", единичные подозрения на СОМ-, ЕХЕ-ви-
 русы и прочее вряд ли могут быть расценены как бесспорное дока-
 зательство наличия вируса.
MACRO-вирусы живут исключительно в Windows и никакого нега-
 тивного влияния на DOS-программы оказать не могут, за исключе-
 нием того случая, когда они что-либо стерли в Windows-сеансе.
5. Нередко сбои бывают вызваны естественными причинами, никако-
 го отношения к вирусам не имеющими.
а) Аппаратные сбои. Исключить эту возможность поможет загрузка
 с чистой дискеты и запуск (с нее) диагностической программы
 ndiags. Тестируем память, основную плату, порты и все осталь-
 ное. Иногда достаточен простой внешний осмотр компьютера -
 может быть, что-то неправильно подключено.
б) Нарушения в логической структуре диска. Загружаемся с чистой
 дискеты и запускаем (с нее) ndd. Сначала просто отмечаем наличие
 ошибок (перекрестных цепочек, потерянных кластеров и так далее).
 Если ошибок очень много и подавляющее их число относится
 к СОМ- и ЕХЕ-файлам, то ни в коем случае нельзя выполнять опе-
 рацию исправления ошибок: это может быть DIR-подобный вирус,
 и такое "лечение" диска может стать для многих программ фаталь-
 ным. Если ошибки есть и их относительно немного, рискуем и ле-
 чим диск. Вновь загружаемся с винчестера. Сбои пропали?
в) Конфликты между различными компонентами операционной си-
 стемы и прикладными программами. Особенно "вредоносными"
 являются дисковые драйверы-обманщики, активно видоизменяю-
 щие (пусть и с благородными целями) информацию, считывае-
 мую или записываемую на диск:
- дисковые кэш (SMARTDRV, NC_CASHE);
- упаковщики дисков (DblSpace, DrvSpace, Stacker);
- системы безопасности (антивирусные мониторы типа PROTECT,
 HDPROT, ADM и прочие, системы разграничения доступа
 DISKMON, DISKREET). Нередко сбоят устаревшие пристыковоч-
 ные системы защиты от несанкционированного копирования, типа
 NOTA или CERBERUS.
6. Наконец, самый интересный случай - вирус явно не обнаружен,
 но подозрения на его наличие 'по-прежнему остаются. Достаточно
 подробно эту тему изложил Е. Касперский в своей книге "Компью-
 терные вирусы в MS-DOS", избранные фрагменты которой можно
 найти в гипертекстовом каталоге avpve того же автора. Остается
 только привести краткое изложение этих глав с уточнениями и за-
 мечаниями (может быть, весьма спорными).
а) Обнаружение загрузочного вируса. Загружаемся с чистой дискеты
 и, запустив DiskEditor, заглядываем в сектор 0/0/1 винчестера.
 Если винчестер разделен (при помощи fdisk) на логические диски,
 то код занимает приблизительно половину сектора и начинается
 с байт FAh 33h COh (вместо 33h иногда может быть 2Bh). Закан-
 чиваться код должен текстовыми строками типа "Missing operating
 system". В конце сектора размещаются внешне разрозненные бай-
 ты таблицы разделов. Нужно обратить внимание на размещение
 активного раздела в таблице разделов. Если операционная система
 расположена на диске С, а активен 2, 3 или 4 раздел, то вирус мог
 изменить точку старта, сам разместившись в начале другого логи-
 ческого диска (заодно нужно посмотреть и там). Но также это мо-
 жет говорить о наличии на машине нескольких операционных си-
 стем и какого-либо boot-менеджера, обеспечивающего выборочную
 загрузку. Проверяем всю нулевую дорожку. Если она чистая,
 то есть ее сектора содержат только байт-заполнитель, все в поряд-
 ке. Наличие мусора, копий сектора 0/0/1 и прочего может гово-
 рить о присутствии загрузочного вируса. Впрочем, антивирусы при
 лечении загрузочных вирусов лишь "обезглавливают" противника
(восстанавливают исходное значение сектора 0/0/1), оставляя тело
 "догнивать" на нулевой дорожке. Проверяем boot-сектор MS-DOS,
 он обычно расположен в секторе в 0/1/1. Его внешний вид для
 сравнения можно найти как в вышеупомянутой книге Е. Касперс-
 кого, так и на любой "чистой" машине. Итак, если вирус обнару-
 жен, при помощи DiskEditor переписываем в файл зараженный
 объект: MBR 0/0/1 (а лучше всю нулевую дорожку), boot 0/1/1
 и все остальное. Желательно отправить этот комплект вирусоло-
 гам. Копию, при желании, оставляем себе - для опытов.
б) Обнаружение файлового вируса. Нерезидентные файловые виру-
 сы специально не скрывают своего наличия в системе. Поэтому
 основным признаком заражения файла является увеличение его
 длины, которое легко заметить даже в инфицированной операци-
 онной системе. Резидентные вирусы могут скрывать изменение
 длины файла (да и вообще наличие своего кода внутри файла-
 жертвы), если они написаны по Stealth-технологии. Но при заг-
 рузке с "чистой" дискеты это можно увидеть. Некоторые вирусы
 не изменяют длину заражаемых программ, используя "пустые"
 участки внутри файла программы или кластерный "хвост" фай-
 ла, расположенный после последнего заполненного сектора.
В этом случае основной признак заражения - изменение конт-
 рольной суммы байт файла. Это легко обнаруживают антивиру-
 сы-инспектора типа Adinf. В качестве крайней меры можно рас-
 сматривать прямое изучение кода программ, подозрительных
 с точки зрения наличия в них вируса. Одно из лучших программ-
 ных средств для оперативного изучения кода вирусов - програм-
 ма HackerView (hiew.exe by SEN). Но, поскольку "по умолча-
 нию" компьютер чужой, hiew, td, softice, ida и подобных
 программ на нем может просто не оказаться. Зато стандартный
 отладчик debug присутствует точно. Загружаем подозреваемую
 на наличие вируса программу (в чистой операционной системе)
 в память при помощи команды debug <имя_программы>. Коман-
 да и позволяет дизассемблировать фрагмент кода, команда d -
 просмотреть его в шестнадцатеричном формате, команда g <ад-
 рес> запускает программу на выполнение с остановом в указан-
 ной точке, команда t обеспечивает пошаговую трассировку кода,
 команда г отображает текущее содержимое регистров. Чтобы ви-
 зуально распознать наличие вируса по коду, конечно, необходим
 определенный опыт. Вот на что надо обращать особое внимание:
- Наличие в начале программы последовательности команд подоб-
 ного типа крайне подозрительно:
Start:
call Metka
 Metka: pop<r>
- Наличие в начале файла строк типа "PkLite", "Ь291"или "diet"
 подразумевает обработку программы соответствующим упаковщиком;
если начало программы не содержит последовательности команд, ха-
 рактерных для упаковщика, не исключен факт ее заражения.
- Программы, написанные на языках высокого уровня, часто содер-
 жат в своем начале сегмент кода, затем сегмент данных. Наличие
 еще одного сегмента кода, располагающегося в конце файла про-
 граммы, весьма подозрительно.
- Подозрение вызывают расположенные в начале программы, напи-
 санной на языке высокого уровня, фрагменты видоизменения соб-
 ственного кода, вызовы DOS- или BIOS-прерываний и прочее. Же-
 лательно визуально помнить характерные начала программ,
 скомпилированных в той или иной системе программирования (на-
 пример, начала программ, написанных на Turbo Pascal, содержат
 большое количество дальних вызовов подпрограмм call xxxx:xxxx).