"Игорь Коваль. Как написать вирус" - читать интересную книгу автора

больше не потребуется,поэтому оставлять ее в памя-
ти бессмысленно, и она " затирается " MS DOS в
случае необходимости .


2.3 Алгоритм работы резидентного
COM - вируса

Рассмотрим один из возможных алгоритмов работы ре-
зидентного COM - вируса .
По своей сути резидентный вирус отличается от обы-
чной резидентной программы только тем, что он раз-
множается сам по себе, независимо от желания поль-
зователя.Значит,построить его можно по той же схе-
ме, по которой пишутся обычные TSR - программы .Но
сначала выясним,что должны делать секция инициали-
зации вируса и его резидентная часть .
Итак :
Секция инициализации выполняет следующие действия:

1. Получает управление при запуске зараженной про-
граммы .

2. Проверяет, установлена ли в память резидентная
часть вируса .

3. Восстанавливает в памяти компьютера исходные
три байтa этой программы .

4. Если резидентная часть не установлена,выполняю-
тся следующие действия :

a.) Отыскивается свободный блок памяти достато-
чного для размещения вируса размера .

б.) Код вируса копируется в найденный блок па-
мяти .

в.) В таблице векторов прерываний соответству-
ющие вектора заменяются точками входа в ви-
русные обработчики .

г.) Выполняется переход на начало зараженной
программы ( на адрес CS : 100h ).После это-
го программа выполняется, как обычно .

В том случае, если резидентная часть вируса уже
находится в памяти, он просто передает управление
зараженной программе .