MSIL.Gastropod

Вирус, заражающий файлы .NET-приложений. Написан на языке C#.

Вирус, заражающий файлы .NET-приложений. Написан на языке C#.

При запуске зараженного файла создается поток, выполняющий код вируса параллельно выполнению основного кода программы.

После запуска вирус создает в текущем каталоге файл "ILReader.DLL" - эта библиотека используется для дизассемблирования кода заражаемых файлов.

Затем вирус ищет в текущем каталоге файлы с расширением exe. Для каждого найденного файла создается копия, оригинальный файл заражается, и в случае успешного заражения копия удаляется, а если заражение выполнить не удалось, оригинальный файл восстанавливается из копии.

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

Когда вирус обнаруживает модуль, содержащий стартовый метод заражаемого файла, он добавляет свой код и данные в этот модуль; в начало стартового метода вставляются команды для запуска кода вируса в отдельном потоке, а в конец - команда остановки этого потока.

Кроме того, для того чтобы затруднить анализ заражённых файлов, вирус "разбавляет" код незначащими командами, а также случайным образом переименовывает названия классов и методов.

После успешного заражения файла к нему дописывается библиотека "ILReader.DLL" и вирус переходит к следующему файлу.

Когда каталог полностью "обработан", вирус удаляет файл "ILReader.DLL" и выполняет описанную процедуру для родительского каталога - и так далее вплоть до корневого каталога диска.