首页
社区
课程
招聘
[原创]MBR病毒基础知识——磁盘结构
发表于: 2010-7-3 21:42 30816

[原创]MBR病毒基础知识——磁盘结构

2010-7-3 21:42
30816

从鬼影病毒开始,最近利用MBR手法的病毒逐渐普及,而想分析此类病毒,难免需要用到MBR和磁盘引导等基础知识。因此利用休息时间整理了一点东西,希望对想研究或了解该手法的同学有些帮助。文章本身没任何技术含量,只是一点体力活,希望懂的大牛小牛们不要见笑,直接飘过吧。
先简单介绍一下硬盘上相关结构:
1、MBR(主引导记录)
硬盘第一个物理扇区为MBR,当我们选择从硬盘启动时,由 bois从该扇区读入引导代码。MBR关键数据可分为3部分:
(1)        引导代码
(2)        分区表
(3)        结束标志(55AA)

分区表用以管理整个磁盘空间的划分。它从MBR的0x1BE偏移开始,有4个表项,每项16个字节,因此最多只能可以建立4个主分区。(微软为了克服这个数量限制,设计了扩展分区的方式,所谓扩展分区就是分区表中指向的一个普通分区而已,只是在它自己分区内部又有特殊的结构,使得我们可以分出多个逻辑分区,我们平时看到的d、e、f等驱动器实际上都是扩展分区内部划分的逻辑分区,你可以用winhex查看你的分区表,会发现里面只有两项,一项代表C盘分区,另外一项就是代表其他所有驱动器之和的扩展分区了,当然如果自己分了其他主分区的情况除外)
分区表项结构列出如下,以便查阅:

2、DBR
每个主分区的第一个扇区存放着另一个引导扇区DBR,“分区引导扇区”或叫“DOS引导扇区”。该扇区的目的就是读入ntldr,以进行进一步分引导。该扇区也是以”55AA”标志结束。

3、扩展分区
详细讲一下扩展分区的结构,我们平时能分多个逻辑磁盘出来都是它的功劳。
前面说了扩展分区内部有着自己特殊的结构以实现多分区,它和普通的主分区一个明显的差别就是它的第一个扇区存放的就不是DBR了,而是一个叫虚拟MBR的扇区。叫虚拟MBR是因为他和MBR结构很像。结构也为3部分:
(1)        全0
(2)        分区表
(3)        55AA
它没有引导代码,以全0代替。分区表偏移也在0x1BE处,为4项。只是它只会用前两项。后面两项全0。第一项指向一个逻辑驱动器(逻辑分区)比如d盘。第二项指向下一个虚拟MBR(如果还有逻辑分区的话)。如此就形成了一个链,突破了分区个数限制。扩展分区本身没有DBR,它的DBR在它的每个孩子即逻辑分区的第一个扇区。你可以把扩展分区想象成一个独立的硬盘,只是分区的组织方式变成链表了,这样可能好理解点。忘了一点,记得曾经有过硬盘逻辑锁的概念,其原理就是把逻辑分区的链表修改成了一个环,这样在系统遍历这个链表时就死循环了。

以上文字描述的比较乱,下面给大家整理成一个结构图,以方便理解。图中以硬盘分了2个主分区+一个扩展分区画的。


Extend Partition内部结构单独列出来如下:


windows系统从MBR开始的引导过程简单描述为:MBR->活动分区DBR->Ntldr->boot.ini启动菜单->加载系统。
磁盘结构先整理到这,希望对大家有些帮助,其中若发现错误,请批评指正:)。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (21)
雪    币: 149
活跃值: (128)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
先看一下,呵呵
2010-7-3 21:51
0
雪    币: 91
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
认真看完了, 期待下接下来的基础普及...
2010-7-4 10:44
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
4
其实还不如看看wikipedia
2010-7-4 11:10
0
雪    币: 727
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习下...............
2010-7-4 12:23
0
雪    币: 215
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
呵呵,其实这个也就是一个简单的笔记而已,发出来即使没啥价值也没什么坏处,万一对个别人有点帮助也就值得了,forgot牛直接当水贴看就行了:)
2010-7-4 22:42
0
雪    币: 83
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也觉得是,呵呵。
2010-7-5 09:58
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我以为WIN7又在MBR有什么新动作
2010-7-6 17:10
0
雪    币: 242
活跃值: (1664)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
9
关注一下,写的很不错
2010-7-6 22:42
0
雪    币: 345
活跃值: (127)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
10
楼主写的不错,请继续写下去,呵呵
2010-7-8 13:08
0
雪    币: 213
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
呵呵,不错的说
2010-7-8 14:41
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习了!感谢LZ的辛勤劳作
2010-7-10 02:41
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
分析的不错.
2010-7-15 17:54
0
雪    币: 121
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
很好的东东 收藏咯~~
2010-7-19 09:56
0
雪    币: 20
活跃值: (99)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
学习一下~~~~
2012-4-9 19:18
0
雪    币: 31
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
期待后续系列。
2012-4-9 20:16
0
雪    币: 219
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
写了半天 没有提到和病毒有什么关系
2012-4-10 13:31
0
雪    币: 200
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
学习了,谢谢分享。
2012-7-13 16:09
0
雪    币: 11110
活跃值: (17638)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
非常好的资料啊,
2013-4-17 18:38
0
雪    币: 110
活跃值: (527)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
20
这个很不错呀,
2013-6-5 13:35
0
雪    币: 371
活跃值: (72)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
21
图文并茂,不错~~~
2013-6-6 07:37
0
雪    币: 268
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
非常感谢发布的信息,期待后面的内容。
2013-7-24 19:36
0
游客
登录 | 注册 方可回帖
返回
//