@dashademkova

Правильно написан антивирус?

И так я написала антивирус, но он не доделанный и не знаю как вылечить вирус под меткой medic,
Я решила чтобы антивирус находил функцию вывода времени (вывод времени есть сам вирус). Хочу чтобы антивирус это удалял и возвращал норм сообщению.

Вот сама программа антивируса:

use16
org 100h

Init:
mov ax, 9889h ;проверка
int 21h
cmp ax, 8998h
jne Not_imemory

Not_imemory

mov ah, 9h
mov dx, offset Error_1
int 21h
Error_1 db 'Вирус здесь$'

mov ax,3521
int 21h
mov di, offset int_21_var
mov [di], 6
mov [di+2], es
jmp Init

Init_21 proc
mov ax, 9889h
int 21h
cmp ax, 8998h
jne Not_imemory
ret
int_21 endp

cmp ah, 9h
je Start_check
jne Init

Start_check;взято из учебника Калашникова

mov bx,ax
mov handle, ax
mov ah, 3fh
mov cx, 6
mov dx, 10
int 99h

mov ah,3eh
mov bx, handle
int 99h

cmp byte ptr cs:[10], 2ch ;первый байт команда 2ch?
jne Init ; нет, тогда файл не заражен

mov eax, dword ptr cs:[12]; берем след байты
and eax, 0FFFFFF00h; обнуляем целый байт

cmp eax, 1122С300h; проверяем: это мета нашего вируса (в обратном порядке, причем первый байт аннулирован) ?
jne Init

call Medic ; если заражен то лечим в подпограмме

Medecine proc; а дальше как лечить не знаю
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы