病毒的編制關鍵技術(2) (轉)

worldblog發表於2007-12-02
病毒的編制關鍵技術(2) (轉)[@more@]

 

  -r
  AX=0000 BX=0000 CX=09F1 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
  DS=0CA4 ES=0CA4 SS=0CA4 CS=0CA4 IP=0100 NV UP EI PL NZ NA PO NC
  0CA4:0100 B8371E   MOV   AX,1E37

  -a af1
  0CA4:0AF1 mov ah,0
  0CA4:0AF3 int 16           ;等待按鍵
  0CA4:0AF5 cmp al,1b         ;等待ESC鍵
  0CA4:0AF7 jnz af1
  0CA4:0AF9 mov  ptr[100],3fb8   ;恢復開始的三個位元組
  0CA4:0AFF mov byte ptr[102],le
  0CA4:0B04 push cs           ;進棧CS:100
  0CA4:0B05 mov si,100
  0CA4:0B08 push si
  0CA4:0B09 retf            ;RetF回到CS:100,程式開始處
  0CA4:0B0A

  -a 100
  0CA4:0100 jmp af1          ;將程式開頭改成跳轉到修改的模組
  0CA4:0103

  -rcx
  CX 09F1
   : a0a

  -w
  Writing  00A0A bytes

  -q

 

 

  修改完了,來以下more.com,發現什麼沒有?結果不按ESC鍵程式無法執行,流程很簡單:   1. 把程式開始處的指令修改成了跳轉到最後新增的程式位置。   2. 最先執行新增的程式(相當於模組),等待ESC鍵。   3. 按下ESC鍵後修改回程式開始的指令,跳轉回到開始(執行原始程式)。   好了,如果你能看懂上面這段話,那你離編寫自己的com病毒將不會很遠了。 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987332/,如需轉載,請註明出處,否則將追究法律責任。

相關文章