网络通信 频道

如何编制DOS下的病毒(3)

 开机如果是从硬盘起动时,ROM BIOS程序把硬盘上0面0道1扇区的主引导程序加载到内存0000:7C00处,并开始执行它.因此,下面的第一条指令CLI的绝对地址是0000:7C00H通过修改主引导扇区,可以实现一定的加密效果,此处可以被病毒利用...
***基本引导病毒的原理图***
**软盘导引**

  带毒软盘引导           病毒13号中断入口

   ├┤                ├┤
    \/                 \/
  判断硬盘是否有毒,          是在读写软盘吗?-----否
  若无毒则传染              ├┤是      ├┤
    ├┤                 \/        ├┤
    \/               此软盘有毒吗?---是  ├┤
   以下同上               ├┤否    ├┤ ├┤
                      \/      ├┤ ├┤
(传染时将病毒写入            对其传染    ├┤ ├┤
主引导扇区,将原              ├┤     ├┤ ├┤
引导程序存入某一              \/      \/  \/
扇区)                   执行原INT 13<-----  

**硬盘导引**

 带毒硬盘引导
    ├┤
    \/
BIOS将硬盘主引导区      
读到内存0:7C00处         ;这是千古不变的,不知谁定的.
控制权转到主引导程序   
    ├┤(病毒)
    \/
将0:413单元的值减少1K       ;BIOS上机自检,将常规内存大小存入0:413;
    ├┤   (或nK)       -1K 后,系统以后将不在访问最高段的1K内存
    \/             
计算可用内存高段地址       
将病毒移到高段继续执行 
    ├┤
    \/
修改INT13地址,指向病毒传染段   
将原INT13地址保存在某一单元
    ├┤
    \/
病毒任务完成,将原引导区调
入0:7C00执行
    ├┤
    \/
  机器正常引导              

以上是引导型病毒的基本框图,不论是最古老,还是最新的,万变不离其中.只不过在各细节个人的技巧不同罢了.

文章转载地址:http://www.cnpaf.net/Class/Virus/05122020353991157491.htm

0
相关文章