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

         

Заражение


Вирус проверяет имя файла и заражает только .COM- и .EXE-файлы. Для того, чтобы отличить зараженные файлы от незараженных, он устанавливает специфичное время последней модификации файла: число секунд равно месяцу, умноженному на два. Затем вирус шифрует себя четыре раза (трижды - различными полиморфик-генераторами), записывает результат в конец файла и модифицирует заголовок файла. В начало .COM-файлов записывает команду JMP-Virus, а в .EXE-файлах корректирует поля CS, IP, SS и SP. Вирус также пытается обработать .COM-файлы, начинающиеся с JMP или CALL, и записать команду JMP-virus в адрес, куда указывает JMP или CALL, но все равно пишет JMP-Virus в начало файла.

Вирус также шифрует один байт в середине заражаемого файла: по адресу 0040h в COM-файлах и по смещению 200h от заголовка EXE в EXE-файлах. Зачем это делается - непонятно, скорее всего для того, чтобы было невозможно восстановление файлов при помощи лечащих CRC-сканеров (ревизоров диска). При открытии файла для заражения вирус использует довольно оригинальный трюк, способный обмануть практически все резидентные мониторы. Для этого он "портит" имя файла: записывает 00h в первый символ расширения имени. Затем перехватывает INT 2Ah, вызывает DOS-функцию Open ReadWrite, ждет вызова INT 2Ah, который идет из ядра DOS, затем восстанавливает имя файла и адрес INT 2Ah. В результате пока такой вызов идет по цепочке INT 21h, имя файла не является подозрительным (COM или EXE), а когда запрос на открытие оказывается в ядре DOS, вирус восстанавливает первоначальное имя файла.



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