Внедряясь в тело файлов программ .COM и .EXE, файловые вирусы изменяют их таким образом, что при запуске управление передается не зараженной программе, а вирусу. Вирус может записать свой код в конец, начало или середину файла. Получив управление, вирус может заразить другие программы, внедриться в оперативную память компьютера и т. д. Далее вирус передает управление зараженной программе, и та исполняется обычным образом.
Помимо .COM и .EXE файловые вирусы могут заражать программные файлы других типов — оверлеи MS-DOS (.OVL, .OVI, .OVR и другие), драйверы .SYS, библиотеки .DLL, а также любые файлы с программным кодом. Известны файловые вирусы для различных ОС — MS-DOS, Microsoft Windows, Linux, IBM OS/2 и т. д.
Загрузочные вирусы
Загрузочные вирусы получают управление на этапе инициализации компьютера, еще до начала загрузки ОС. При заражении дискеты или жесткого диска загрузочный вирус заменяет загрузочную запись BR или главную загрузочную запись MBR. Исходные записи BR или MBR при этом обычно не пропадают (хотя бывает и иначе): вирус копирует их в один из свободных секторов диска.
При начальной загрузке компьютера BIOS считывает загрузочную запись с диска или дискеты, в результате чего вирус получает управление еще до загрузки ОС. Затем он копирует себя в конец оперативной памяти и перехватывает несколько функций BIOS. В конце процедуры заражения вирус загружает в память компьютера настоящий загрузочный сектор и передает ему управление. Далее все происходит, как обычно, но вирус уже находится в памяти и может контролировать работу всех программ и драйверов.
Комбинированные вирусы.
Очень часто встречаются комбинированные вирусы, объединяющие свойства файловых и загрузочных. В качестве примера можно привести широко распространенный когда-то файлово-загрузочный вирус OneHalf. Проникая в компьютер с ОС MS-DOS, этот вирус заражает главную загрузочную запись. Во время загрузки вирус постепенно шифрует секторы жесткого диска, начиная с самых последних секторов. Вирус OneHalf использует различные механизмы маскировки. Он представляет собой стелс-вирус и при распространении применяет полиморфные алгоритмы.
Вирусы-спутники.
Как известно, в MS-DOS и в Microsoft Windows различных версий существует три типа файлов, которые пользователь может запустить на выполнение. Это командные или пакетные файлы .BAT, а также исполняемые файлы .COM и .EXE. Когда вирус-спутник заражает файл .EXE или .BAT, он создает в этом же каталоге еще один файл с таким же именем, но с расширением .COM. Вирус записывает себя в этот COM-файл, который запускается до EXE-файла. При запуске программы первым получит управление вирус-спутник, который затем может запустить ту же программу, но уже под своим контролем.