@dashademkova

Как написать антивирус к вирусу по ассемблеру?

Подскажите как к вирусу написать антивирус ?

Вот мой вирус:

use16
org 100h

begin:

jmp Init

int_21_proc proc
cmp ah, 9h
je Yes_9

Yes_9:
push ds
push dx
push cs
pop ds

mov dx offset mes1

pushf

call dword ptr cs:[Init_211_proc]

pop dx
pop ds
iret

mes1:

;================================================

mov ah, 2ch
int 21h

mov [Hour], ch
mov[Min], cl
mes2:
mov ah,9h
mob bx, offset mes2
int 21h
mes2 db Hour,Min 'Hour'

Hour dd ?
Min dd ?

;===============================================
int_21_proc endp

Init:
mov ah, 35h
mov al, 21h
int 21h

mov word ptr Init_211_proc, bx

mov word ptr Init_211_proc+2, es

mov ax, 2521h
mov dx, offset int_21_proc

int 21h

mov dx, offset Init

int 27h

end start

;====================================

Init_211_proc dd ?
  • Вопрос задан
  • 526 просмотров
Пригласить эксперта
Ответы на вопрос 3
@blinkers
Для решения вашей проблемы на 99,99999% подойдёт книжка "Пишем вирус и антивирус". Автор Хижняк П.Л.
Ответ написан
Комментировать
Rou1997
@Rou1997
Изучаете формат EXE-файла, с помощью дизассемблеров ищете в каких байтах скомпилированного EXE получается вредоносный код, их последовательность добавляете в базу антивируса (можно просто в бинарный файл), затем антивирус проверяет заданный пользователем подозрительный EXE , просто читает и проверяет нет ли в нем этой последовательности, если есть - то предлагает удалить файл.
Ответ написан
Вариант с 0% False Positive + False Negative - это включить весь скомпилированный код в базу антивируса добайтно, или в целях экономии - хеш-сумму от него. Однако, Ваш антивирус будет "переобученным" : любое изменение кода приведет к пропуску. Вы должны понять насколько большой должна быть способность к обобщению и постараться включить в сигнатуру (т.е. охватываемую хеш-суммой часть кода) ту часть, которая наиболее вероятно не изменится при чьей то правке. А дальше собственно и начинается самое интересное.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы