Полный текст резидентного EXE-вируса

Несколько слов о вредных действиях вирусной программы

Защита от обнаружения вируса в файле

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

Для решения этой задачи был предложен такой алгоритм: маска расшифровывается вирусной копией, находящейся в памяти, непосредственно перед поиском EXE-файла,а при записи вирусного кода в файл снова шифруется. Вряд-ли DOCTOR WEB станет устанавливать резидентный вирус в память, а потом еще и проверять, как он работает. А при простом просмотре или даже прохождении зараженной программы отладчиком можно увидеть только закодированную маску.

Вирус, как правило, для того и пишется, чтобы кому-то навредить или пошутить над пользователями. Поэтому естественно было бы включить в него какие-нибудь действия, мешающие нормальной работе операторов компьютеров. Конечно, здесь существует огромная свобода : от тривиальной блокировки клавиатуры до "осыпания" букв с экрана или форматирования винчестера. Многие вирусы вообще содержат серьезные ошибки, из - за которых зараженная система может перестать работать, поэтому что - нибудь более неприятное придумать непросто. Поскольку книга носит учебный харатер, мы не будем развивать " вредительскую " тему, а вместо этого предоставим нашим читателям возможность творчески подойти к задаче. Можете не огорчаться - встроить в вирусную программу вредное действие на порядок проще, чем создать эту программу. Учтите только, что изготовление вирусов - дело очень неблагодарное, и без должной конспирации способно принести самому "писателю" массу неприятностей. Сами вирусы (особенно чужие) - довольно неприятная штука, хотя эта тема очень интересна.

Как я уже говорил, эта программа является просто итогом всех предыдущих и фактически составлена из их частей. Поэтому больше объяснять, вероятно, нечего. Последний штрих - приведем полный текст разработанного нами резидентного EXE - вируса:

Скачать exetsr.asm (26Kb)

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

name_1 db 'ADIN';Файлы, имена name_2 db 'DINF';которых начи- name_3 db 'DRWE';наются так, за- name_4 db 'AIDS';ражать нельзя ! name_5 db 'ANTI' name_6 db 'WEB'

Для проверки используется разработанная ранее процедура SEARCH. Если найденный файл действительно является антивирусной программой, наш вирус отказывается от попытки заразить его.

* Как вы заметили,в вирусе отсутствуют обработчики Int 13h и Int 2Fh. Так сделано потому, что предлагаемая программа отлично работает без какой - бы то ни было "фильтрации" прерывания Int 13h. Проверка повторной загрузки возложена на обработчик Int 28h, по этой причине прерывание Int 2Fh перехватывать не нужно.