Вирус, заражающий файлы .NET-приложений. Написан на языке C#.
Вирус, заражающий файлы .NET-приложений. Написан на языке C#.
При запуске зараженного файла создается поток, выполняющий код вируса параллельно выполнению основного кода программы.
После запуска вирус создает в текущем каталоге файл "ILReader.DLL" - эта библиотека используется для дизассемблирования кода заражаемых файлов.
Затем вирус ищет в текущем каталоге файлы с расширением exe. Для каждого найденного файла создается копия, оригинальный файл заражается, и в случае успешного заражения копия удаляется, а если заражение выполнить не удалось, оригинальный файл восстанавливается из копии.
Процедура заражения начинается с анализа модулей, типов данных и методов заражаемого приложения. Если какой-либо тип данных совпадает (c точностью до количества подтипов и методов) с типом самого вируса, файл считается уже зараженным и пропускается.
Когда вирус обнаруживает модуль, содержащий стартовый метод заражаемого файла, он добавляет свой код и данные в этот модуль; в начало стартового метода вставляются команды для запуска кода вируса в отдельном потоке, а в конец - команда остановки этого потока.
Кроме того, для того чтобы затруднить анализ заражённых файлов, вирус "разбавляет" код незначащими командами, а также случайным образом переименовывает названия классов и методов.
После успешного заражения файла к нему дописывается библиотека "ILReader.DLL" и вирус переходит к следующему файлу.
Когда каталог полностью "обработан", вирус удаляет файл "ILReader.DLL" и выполняет описанную процедуру для родительского каталога - и так далее вплоть до корневого каталога диска.
Но доступ к знаниям открыт для всех