这是一次实验报告,觉得学到点东西,与大家分享。
转载声明出处:http://blog.csdn.net/landerlyoung/article/details/12401761
分析本地硬盘的主引导扇区
首先我们要做的是熟悉fat32 文件系统。
实验环境是Windows8 操作系统+winhex 17.2。鉴于本地没有fat32格式的磁盘分区。
1. 在win8下创建一个虚拟磁盘vhd,并格式化为fat32,然后挂载。
如图,“磁盘2”即为创建的虚拟磁盘,大小为1G,win8下的盘符为I;
2. 我们用winhex打开此磁盘看一下结构。
以管理员身份打开winhex,单击工具,选择打开磁盘
3. 选择我们创建的磁盘。
4. 点击引导扇区(模板)
Fat32 DBR(Dos Boot Record)各个字节表示的意义如下
(注意数据是以little-ending的形式存储的)
l 0H~02H 一条跳转指令,指针指向后面的引导程序
a) 通常是eb 58 90反汇编后得到指令为:
i. Jmp 0x5a;
ii. nop
l 03H~0AH 厂商名和系统版本
l 0BH~0CH 每扇字节数,一般为512字节
l 0DH 每簇扇区数(有关簇的概念我们在后面会详细介绍),对于FAT32的磁盘该字节一般为08H,既每簇为8H*512B=4K。
l 0EH~0FH 保留扇区数
l 10H 磁盘FAT的个数,一般为2个
l 11H~12H 对于FAT16的磁盘为根目录的最大目录项,对于FAT32的磁盘该值总为“00H00H”
l 13H~14H 对于软盘或早期小硬盘该处为分区总扇区数,对于硬盘一般此值为“00H 00H”
本文通过分析FAT32文件系统的主引导扇区,介绍了扇区、簇的概念,展示了如何使用Winhex工具查看磁盘结构。通过计算,找到了FAT表和根目录的位置。此外,探讨了文件的存储方式,解释了FAT32如何通过FAT表管理文件簇。最后,实践了恢复已删除文件的过程,强调了恢复过程中对根目录和FAT表的修正。
最低0.47元/天 解锁文章

1423

被折叠的 条评论
为什么被折叠?



