您的位置:首页 > 编程语言 > C语言/C++

关于MBR病毒的一些调研及分析工作

2017-04-07 10:30 363 查看

MBR简介

系统启动过程(以硬盘启动为例):

开机

BIOS加电自检(POST-Power on Self Test),内存地址为0FFF:0000

将硬盘的第一个扇区读入内存地址0000:7C00处

+

MBR是(main boot record,主引导记录)的简称,主要由四个部分组成:

地址范围作用分区格式
0000-0088master boot record主引导程序主引导程序
0089-01BD出错信息数据区数据区
01BE-01CD分区项1(16字节)分区表
01CE-01DD分区项2(16字节)
01DE-01ED分区项3(16字节)
01EE-01FD分区项4(16字节)
01FE55结束标志
01FFAA
主引导记录MBR从0000H到00D9H结束,共有128个字节;MBR的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并且在程序结束的时候把该分区的启动程序(也就是操作系统的引导扇区)调入内存加以执行。MBR是由分区程序产生的,在不同的操作系统中,这个扇区的内容可能不完全相同。主引导记录比较容易编写,所以针对这块的病毒比较多,如eeye bootroot、Vbootkit、Stoned bootkit、Sinowal等

硬盘分区相关知识:

任何硬盘最多只能分为4个分区。分区表自偏移01BEH处开始,共有64个字节,其中每16个字节为一个分区说明项,具体如下分区结构信息表(偏移量表示)

存储字节位内容及含义
第1字节引导标识,值为80H时表示活动分区,00H时表示非活动分区
第2,3,4字节本分区起始:磁头号 - 第2字节;扇区号 - 第3字节低6位;柱面号 - 第3字节高2位+第4字节8位
第5字节分区类型:00H - 分区未使用;06H - FAT16基本分区;0BH - FAT32基本分区;05H - 扩展分区;07H - NTFS分区;0FH - (LBA模式)扩展分区;83H - Linux分区
第6,7,8字节本分区结束:磁头号 - 第6字节;扇区号 - 第7字节低6位;柱面号 - 第7字节高2位+第8字节8位
第9,10,11,12字节本分区之前已用的扇区数
第13,14,15,16字节本分区的总扇区数

MBR病毒感染的基本思想

MBR病毒感染的基本思想,首先是读取主引导记录并且把分区表从主引导记录中复制出来。然后,MBR病毒把自己的恶意代码二进制数据的主引导记录放到主引导扇区,并复制新的分区表到它。但是,除了分区表需要保留之外,原来操作系统的主引导记录也需要保留下来。因此,MBR病毒复制原系统的主引导记录到其他未使用的64个扇区。等到MBR病毒加载完自己的程序之后再加载原系统的主引导记录并跳到0x7c00处进行开机。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 病毒 bios