Энциклопедия компьютерных вирусов

         

Алгоритм работы файлового вируса


Получив управление, вирус совершает следующие действия (приведен список наиболее общих действий вируса при его выполнении; для конкретного вируса список может быть дополнен, пункты могут поменяться местами и значительно расшириться):

  • резидентный вирус проверяет оперативную память на наличие своей копии и инфицирует память компьютера, если копия вируса не найдена. Нерезидентный вирус ищет незараженные файлы в текущем и (или) корневом оглавлении, в оглавлениях, отмеченных командой PATH, сканирует дерево каталогов логических дисков, а затем заражает обнаруженные файлы;
  • возвращает управление основной программе (если она есть). Паразитические вирусы при этом либо a) лечат файл, выполняют его, а затем снова заражают, либо б) восстанавливает программу (но не файл) в исходном виде (например, у COM-программы восстанавливается несколько первых байт, у EXE-программы вычисляется истинный стартовый адрес, у драйвера восстанавливаются значения адресов программ стратегии и прерывания). Компаньон-вирусы запускают на выполнение своего «хозяина», вирусы-черви и overwriting-вирусы возвращают управление DOS.
  • Метод восстановления программы в первоначальном виде зависит от способа заражения файла. Если вирус внедряется в начало файла, то он либо сдвигает коды зараженной программы на число байт, равное длине вируса, либо перемещает часть кода программы из ее конца в начало, либо восстанавливает файл на диске, а затем запускает его. Если вирус записался в конец файла, то при восстановлении программы он использует информацию, сохраненную в своем теле при заражении файла. Это может быть длина файла, несколько байт начала файла в случае COM-файла или несколько байтов заголовка в случае EXE-файла. Если же вирус записывается в середину файла специальным образом, то при восстановлении файла он использует еще и специальные алгоритмы.



    Содержание раздела