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

         

файлов при их запуске, открытии


Безобидный резидентный полиморфик

-вирус. Перехватывает INT 21h и записывается в конец EXE- файлов при их запуске, открытии или чтении/изменении их атрибутов. Не заражает файлы TB*, IC*, DR*, *AN. Также не заражает файлы, если в их имени есть символы 'V' или '-'. Основной особенностью вируса является то, что он написан на языке C (с несколькими ассемблерными inline-процедурами) и в то же время является полиморфик-вирусом. По причине своего C-шного происхождения зараженные файлы имеют стандартную структуру программ, откомпилированных при помощи Borland C - код программы начинается с процедуры Startup, затем следует Main, библиотеки C и сегмент данных:

+---------------+ |C startup | |- - - - - - - -| |Процедура Main | <- код вируса |- - - - - - - -| |Бибилиотеки C | |- - - - - - - -| |Сегмент данных | +---------------+

При запуске такого файла управление передается на Startup, который определяет конфигурацию системы, выделяет необходимую память, настраивает библиотечные переменные и передает управление на процедуру Main (в данном случае - на код вируса). Вирус затем расшифровывает себя при помощи полиморфик-цикла, выделяет блок памяти для своей TSR-копии, копирует в этот блок свой код вместе со Startup, Библиотеками и Сегментом данных, перехватывает INT 21h и возвращает управление DOS. При заражении файлов вирус вызывает свой полиморфик-генератор, зашифровывает Main и Библиотеки, записывает результат в конец заражаемого файла и модифицирует EXE-заголовок (адрес точки входа и т.д.). Для того, чтобы вернуть управление программе-носителю вирус использует достаточно необычный прием: он перехватывает функцию Terminate и, когда зараженный файл возвращает управление DOS, перенаправляет управление на стартовый адрес программы-носителя. Вирус является достаточно нестандарнтым полиморфиком, поскольку незашифрованными оказываются Startup и Сегмент данных. Однако их нельзя использовать для детектирования вируса, поскольку такие же или очень похожие Startup и данные могут получиться и при компиляции обычных невирусных программ. В своем коде вирус содержит строки:

Dis quick test virus was written by The Soul Manager on 5/9/97 (Yes, yes, I *ADMIT* I should find something to do with a Friday night). Greetz to Immortal Riot (from Australia). I am, I am, I am

Вирус также содержит строки, которые компилятор Borland C вставляет в EXE-файлы:

Turbo C++ - Copyright 1990 Borland Intl. Divide error Abnormal program termination


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