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

         

Опасный резидентный вирус, упакован LxExe.


Опасный резидентный вирус, упакован LxExe. Перехватывает INT 21h и записывается в начало EXE-файлов при их запуске или открытии. При запуске вирус распаковывает себя, определяет имя программы-носителя, читает из него свой упакованный код и оставляет его в памяти (это необходимо для дальнейшего заражения файлов). Затем вирус выделяет блок системной памяти, создает в нем Program Segment Prefix, считывает туда код файла-носителя, корректирует необходимые поля и передает управление этому блоку, т.е. возвращает управление программе-носителю. Для того чтобы остаться резидентно, вирус корректирует MCB-блоки, трассирует и перехватывает INT 21h. При трассировке INT 21h вирус использует довольно необычный прием. Он берет адрес сегмента DOS недокументированным вызовом INT 21h, выделяет блок памяти и копирует туда сегмент кода и данных DOS. Затем он затирает сегмент DOS байтом CCh (вызов INT 3), перехватывает INT 3 и вызывает INT 21h. Этот вызов проходит код всех обработчиков INT 21h до сегмента DOS, затертого CCh, и в результате происходит вызов INT 3. Вирус перехватывает этот вызов, запоминает адрес соответствующей команды CCh (т.е. адрес первоначального обработчика INT 21h) и восстанавливает содержимое сегмента DOS. В результате такой процедуры вирус "трассирует" INT 21h, не перехватывая INT 1 и не устанавливая флаг трассировки. При заражении файлов вирус создает временный файл с именем $$$$$$$$, записывает в него свой упакованный код, добавляет код файла, уничтожает заражаемый файл и переименовывает временный файл в имя заражаемого. Если при заражении памяти происходит ошибка, вирус выводит текст и возвращает управление DOS:

Error in ЕХЕ file

("ЕХЕ" - кириллица). В зависимости от системного таймера, если компьютер находится в графическом режиме, вирус вызывает случайную функцию DOS, что может завесить систему.


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