1---现在的病毒有很多种分类方式,不过依据病毒的感染目标可将病毒分为引导型病毒、文件病毒以及混合型病毒。
2---引导型病毒,对于软盘而言,在软盘上一般有一个称作dos boot section 区,该区是软盘的引导区,其作用是寻找软盘上的文件io.sys和dos.sys文件,
若都找到则成功引导软盘启动,否则提示"NO SYSTEM DISK"或其它错误;而对于硬盘而言,硬盘分为主引导区和从引导区,主引导区在0
0面0道1扇区,其作用是主引导程序的存放点以及分区表的存放点,主引导程序会查找激活区,然后从引导区存放在该区的1扇区,即1扇区为
dos boot disk。对于绝大数病毒而言,它感染的主要是硬盘的主引导扇区和软盘的dos boot disk扇区。
引导型病毒入侵原理:
电脑开机-->加载bios程序-->bios程序将硬盘主引导区读到内存0:7c00处,进而将控制权交给引导程序-->病毒将0:413
的内容减1k(bios在之前已经将内存大小读到该地址处),这样做使得系统以后访问不到高1k的地址-->计算可用高段地址可用区,将病毒
移动到该处继续执行-->修改系统中断,将INT13的地址指向病毒程序,而原来的INT13地址保存在病毒知道的某单元内-->当病毒所要
执行的动作完成之后,将原引导程序加载到地址0:7C00处,执行系统引导程序
分析:
优点:隐蔽性强,兼容性强,只要编的好,是不容易发现的,通用于DOS WINDOWS WIN95 操作系统.
缺点:很多,传染速毒慢,一定要带毒软盘启动才能传到硬盘,杀毒容易,只需改写引导区即可,如: fdisk/mbr ,kv200/k. KV200能查出所有引导型病毒,底
板能对引导区写保护,所以现在纯引导型病毒已很少了。
3-文件型病毒
.com文件:该类型的病毒是将病毒插在文件的头部或者尾部,文件格式为
[病毒 jmp xxx][修改原文件的前三个字节]
原文件--原文件
原文件--原文件
[病毒]
.exe文件:病毒一般将自己加在文件的末端,并修改CS,IP的值指向病毒程序起始地址,并同时修改文件长度SS,SP
EXE 文件比较复杂,每个EXE文件都有一个文件头,结构如下:
EXE文件头信息
----------------------------------
├ 偏移量 ┤ 意义 ┤
---------------------------------
├00h-01h ┤MZ'EXE文件标记 ┤
├02h-03h ┤文件长度除512的余数 ┤
├04h-05h ┤文件长度除512的商 ┤
├06h-07h ┤重定位项的个数 ┤
├08h-09h ┤文件头除16的商 ┤
├0ah-0bh ┤程序运行所需最小段数 ┤
├0ch-0dh ┤程序运行所需最大段数 ┤
├oeh-0fh ┤堆栈段的段值 (SS) ┤
├10h-11h ┤........sp ┤
├12h-13h ┤文件校验和 ┤
├14h-15h ┤IP ┤
├16h-17h ┤CS ┤
├18h-19h ┤............ ┤
├1ah-1bh ┤............ ┤
├1ch-xxh ┤............ ┤
-------------------------------------
当DOS加载EXE文件时,根据文件头信息,调入一定长度的文件,设置SS,SP从CS:IP 开始执行.病毒一般将自己加在文件的末端,并修改CS,IP
的值指向病毒起始地址,并修改文件长度信息和SS,SP.
4--混合型病毒:既能感染引导区,又能感染文件的病毒。但并非简单的将文件型病毒和引导型病毒简单的加在一起,其中有一个转换过程,
这是最关键的。一般采取以下手法:文件中的病毒执行时将病毒写入引导区,这时很容易理解的。染毒硬盘启动时,用引导型病毒的方
法驻留内存,但此时DOS并未加载,无法修改INT21,也就无法感染文件,可以用这样的办法,修改INT 8 ,保存INT 21目前的地址,用
INT 8服务程序监测INT 21的地址是否改变,若改变则说明DOS已加载,则可修改INT 21指向病毒传染段。
注:参考51cto文章:http://bbs.51cto.com/thread-2817-1-1.html