病毒编制的关键技术

时间:2005-12-21 来源: 作者: 点击:
病毒编制的关键技术 大家好,大家都听过计算机病毒吧,是不是很神秘呢?想不想知道它是什么东东,是怎么样被编出来的? 由于种种原因,会编病毒的人都秘而不宣,造成大家一种误解,病毒很神秘,其实不是的,病毒也是程序。只不过 是有些特别。 好,下面我来简单的讲讲。
  病毒编制的关键技术
    大家好,大家都听过计算机病毒吧,是不是很神秘呢?想不想知道它是什么东东,是怎么样被编出来的?
   由于种种原因,会编病毒的人都秘而不宣,造成大家一种误解,病毒很神秘,其实不是的,病毒也是程序。只不过
是有些特别。 
  好,下面我来简单的讲讲。 
   一  com病毒的编制
   com文件是一种单段执行结构,起源于cpm-86操作系统,其执行文件代码和执行时内存影象完全相同,其始执行偏移
地址为100h,对应于文件的偏移0。
   运行debug先来做一个练习,我们拿dos6.22中的more.com来做实验。

  C:\debug more.com
   -u
   0CA4:0100 B8371E   MOV   AX,1E37   ; 注意前三个字节的内容
   0CA4:0103 BA3008   MOV   DX,0830
   0CA4:0106 3BC4    CMP   AX,SP
   0CA4:0108 7369    JNB   0173
   0CA4:010A 8BC4    MOV   AX,SP
   0CA4:010C 2D4403   SUB   AX,0344
   0CA4:010F 90     NOP
   0CA4:0110 25F0FF   AND   AX,FFF0
   0CA4:0113 8BF8    MOV   DI,AX
   0CA4:0115 B9A200   MOV   CX,00A2
   0CA4:0118 90     NOP
   0CA4:0119 BE7E01   MOV   SI,017E
   0CA4:011C FC     CLD
   0CA4:011D F3     REPZ
   0CA4:011E A5     MOVSW
   0CA4:011F 8BD8    MOV   BX,AX
   -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 word 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病毒将不会很远了。

------分隔线----------------------------
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容