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

         

Внедрение вируса в DOS COM- и EXE-файлы


Выполняемые двоичные файлы DOS имеют форматы COM или EXE, различающиеся заголовком и способом запуска программ на выполнение. Расширение имени файла («.COM» или «.EXE») не всегда соответствует действительному формату файла, что, правда, никак не влияет на работу программы. Файлы COM и EXE заражаются по-разному, следовательно вирус должен отличать файлы одного формата от другого. Вирусы решают эту задачу двумя способами: одни анализируют расширение имени файла («.COM», «.EXE»), другие - заголовок файла. Первый способ далее будет называться заражением .COM- (или .EXE-) файлов, второй - заражением COM- (или EXE-) файлов.

В большинстве случаев вирус инфицирует файл корректно, т.е. по информации, содержащейся в теле вируса, можно полностью восстановить зараженный файл. Но вирусы, как и большинство программ, часто содержат незаметные с первого взгляда ошибки. Из-за этого даже вполне корректно написанный вирус может необратимо испортить файл при его заражении. Например, вирусы, различающие типы файлов по расширению имени (.COM, .EXE), очень опасны, так как портят файлы, у которых расширение имени не соответствует внутреннему формату.

Один из наиболее часто встречающися примеров некоррекного заражения файла - COMMAND.COM от Windows95. Этот файл по сути является EXE-файлом, более того имеет размер более 90K, что невозможно для COM-файла. Поэтому вирусы, которые различают COM/EXE файлы по расширению имени и не проверяют длины заражаемых COM-файлов (например, «Junkie»), портят такой COMMAND.COM, и он становится неработоспособным.



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