03f32b05

Shifter


Неопасный резидентный вирус. Перехватывает INT 21h и записывается в середину объектных модулей (OBJ-файлы) при их закрытии. При этом поражает объектные модули таким образом, чтобы при линковке модуля в COM-файл вирус оказался в начале файла. При запуске такого COM-файла вирус остается резидентным. При заражении объектного модуля вирус последовательно читает заголовки всех объектных записей (object records). В заголовок записи при этом входят ее тип и длина. Вирус обрабатывает четыре типа записей: Module End Record (тип 8Ah), External Names Definition Record (тип 8Ch), Logical Data Record (типы A0h или A2h). При обнаружении записи типа Data Record, вирус прибавляет к ее смещению (data offset) в сегменте длину вируса в COM-файле (983 байта). Затем он подсчитывает и сохраняет новую контрольную сумму записи. В результате все записи типа Data Record в зараженном объектном модуле имеют смещение на 983 байта вниз по сравнению с незараженным модулем. Таким образом вирус заставляет линкер поместить код и данные COM-файла на 983 байта вниз и освобождает место для своего (вируса) кода. Особое внимание "Shifter" уделяет первой записи типа Data Record. Если ее смещение не равно 0100h, вирус не заражает данный модуль. Таким образом вирус пытается отличить объектные модули COM-файлов от прочих модулей (EXE, SYS, LIB и т.д.). Кстати, смещение первой Data Record в уже зараженном OBJ-файле не равно 0100h, и вирус не заражает объектные модули дважды. Если очередная запись имеет тип Module End Record, вирус помещает ее полностью в свой буфер и записывает вместо нее новую запись типа Data Record, которая содержит код вируса. Смещение данной записи в сегменте равно 0100h, таким образом линкер поместит эту запись в начало файла. Затем вирус дописывает в конец файла считанную ранее запись Module End Record. Если очередная запись имеет тип External Names Definition Record, вирус проверяет текущее время и с вероятностью 1/4 сдвигает экран и выводит сообщение:

Shifting Objective .OBJ Virus (c) 1993 by Stormbringer Kudos for The Nightmare for his ideas and coolness.

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