logo search
Классификация вирусов

6.2 Файловые вирусы

    Большинство файловых стелс-вирусов использует те же приемы, что приведены выше: они либо перехватывают DOS-вызовы обращения к файлам (INT 21h) либо временно лечат файл при его открытии и заражают при закрытии. Также как и для загрузочных вирусов, существуют файловые вирусы, использующие для своих стелс-функций перехват прерываний более низкого уровня - вызовы драйверов DOS, INT 25h и даже INT 13h.

    Полноценные файловые стелс-вирусы, использующие первый способ скрытия своего кода, в большинстве своем достаточно громоздки, поскольку им приходиться перехватывать большое количество DOS-функций работы с файлами: открытие/закрытие, чтение/запись, поиск, запуск, переименование и т.д., причем необходимо поддерживать оба варианта некоторых вызовов (FCB/ASCII), а после появления Windows95/NT им стало необходимо также обрабатывать третий вариант - функции работы с длинными именами файлов.

Некоторые вирусы используют часть функций полноценного стелс-вируса. Чаще всего они перехватывают функции DOS FindFirst и FindNext (INT 21h, AH=11h, 12h, 4Eh, 4Fh) и "уменьшают" размер зараженных файлов. Такой вирус невозможно определить по изменению размеров файлов, если, конечно, он резидентно находится в памяти. Программы, которые не используют указанные функции DOS (например, "Нортоновские утилиты"), а напрямую используют содержимое секторов, хранящих каталог, показывают правильную длину зараженных файлов.