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

         

Запуск зараженного EXE-файла


При запуске зараженного EXE-файла вирус записывает в системный каталог свой VxD-дроппер. Для этого он вызывает системные функции KERNEL32 GetLogicalDriveStringsA (#350) и SetEnvironmentVariableA (#372) и определяет системные параметры и указатели на функции работы с файлами CreateFileA, WriteFile, ReadFile, SetFilePointer, CloseHandle (зачем так сложно - непонятно, все можно было бы сделать значительно проще). Используя эти указатели, вирус вызывает функцию CreateFileA и пытается создать файл C:\WIN95\SYSTEM\VVFS.VXD. Если такого каталога нет (функция возвращает ошибку), он создает файл C:\WINDOWS\SYSTEM\VVFS.VXD. Если и такой каталог не обнаружен, вирус возвращает управление программе-носителю. В противном случае он записывает в этот файл 9262 байта кода и данных, которые имеют формат VxD-файла (LE EXE-файл) и содержат код вируса. Затем вирус открывает файл - либо C:\WIN95\SYSTEM.INI, либо C:\WINDOWS\SYSTEM.INI, ищет в нем строку "ice=" ("device=") и вставляет в нее строку вызова только что созданного VxD-файла:

перед заражением: device=some.vxd после заражения: device=vvfs.vxd,some.vxd

При этом вирус проверяет строку "device=" и не записывает повторный вызов своего VxD, если он там уже есть. Затем вирус закрывает файл SYSTEM.INI и возвращает управление программе-носителю. В результате заражения системы в каталоге SYSTEM присутствует новый VxD-файл, а файл SYSTEM.INI модифицирован таким образом, что при очередных загрузках Win95 загружается и новый VxD.



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