Создаем вирус и антивирус (Гульев) - страница 66

test.com

cseg segment

assume cs:cseg, ds:cseg, ss:cseg

org 100h

Start:

db 1249 dup (0FAh,90h,0FBh,0F8h)

mov ah,4Ch

int 21h

cseg ends

End Start

test.exe

cseg segment

assume cs:cseg, ds:cseg

Start:

db 1000 dup (0FAh,90h,0FBh,0F8h)

mov ah,4Ch

int 21h

cseg ends

sseg segment stack

assume ss:sseg

db 118 dup (0FAh,90h,0FBh,0F8h)

sseg ends

End Start

Скопируем приманки на зараженную машину. Выполним над ними как можно больше операций: запустим, скопируем в другое место винчестера и на дискету, переместим, просмотрим их в NC и DOS (командой dir). При этом желательно несколько раз поменять системное время и дату, потому что вирусы нередко активны не каждый день и не круглые сутки. Чтобы исключить Stealth-эффект, загрузимся с чистой дискеты и рассмотрим внимательно эти файлы. Как правило, достаточно бывает проконтролировать размер файлов и просмотреть их код при помощи F3 – наличие вируса определить несложно. в) Выделение нерезидентного файла. Самый неприятный случай. Помимо того, что вирус нередко привередничает, распознавая приманку, и по-прежнему отказывается работать «без выходных и отпусков», так еще и заражаемость программ сильно зависит от их расположения на винчестере. Одни нерезидентные вирусы заражают только в текущем каталоге, другие – только в подкаталогах 1-го уровня, третьи – в каталогах, указанных в строке path системной среды (Vienna), четвертые – вообще во всех каталогах винчестера. Поэтому воспользуемся программой типа rt, чтобы скопировать приманки во все каталоги диска (запускаем из корневого каталога):

rt copy a:\test.* .

Точка «.» в конце – символ текущего каталога. Потом их можно будет удалить:

rt del test.*

Теперь выбираем заведомо зараженную программу и запускаем ее N раз, постоянно изменяя время и дату. Проконтролировать изменение длины поможет та же программа rt:

rt dir test.* >test.txt

Получаем файл test.txt, содержащий список файлов test.* с указанием их длины. Выбираем тот файл приманки, который изменил длину. Вот вирус и пойман.

Как исследовать алгоритм работы вируса

Ситуация, когда компьютер оказался заражен неизвестным вирусом, встречается не очень часто, но полностью сбрасывать со счетов такую возможность нельзя. Выше рассматривались способы обнаружения вируса и выделения его в чистом виде. Сейчас переходим к исследованию алгоритма работы файловых вирусов для успешной борьбы с ними.

1. Прежде чем перейти к рассмотрению этого вопроса, вспомним некоторые принципы функционирования MS DOS.

Структура COM– и EXE-программ. Вообще говоря, следует отличать СОМ– и ЕХЕ-программы от СОМ– и ЕХЕ-файлов. Дело в том, что в настоящее время расширение СОМ или ЕХЕ является просто признаком (кстати, необязательным) запускаемой программы. Способ загрузки программы в память и ее запуска определяется операционной системой по внутреннему формату программы. Этот факт часто не учитывали авторы первых вирусов, что приводило к уничтожению некоторых программ вместо их заражения.