湖南农业大学高等教育自学考试本科生毕业论文(设计)数据恢复技术研究之FAT文件系统学生姓名:孙媛媛(郑云朋辅助)考籍号:070704050005年级专业:信息安全技术指导老师及职称:范强副教授学院:湖南农业大学信息科学技术学院湖南·长沙提交日期:2009年12月湖南农业大学高等教育自学考试本科生毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计)是本人在指导老师的指导下,进行研究工作所取得的成果,成果不存在知识产权争议。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体在文中均作了明确的说明并表示了谢意。本人完全意识到本声明的法律结果由本人承担。毕业论文(设计)作者签名:年月目录摘要...........................................5关键字...........................错误!未定义书签。第一章、概述.....................错误!未定义书签。(一)数据恢复的概念.............................6(二)数据恢复的简单的介绍.......错误!未定义书签。第二章、FAT32文件系统的组成结构..错误!未定义书签。(一)硬盘的组成结构.............错误!未定义书签。(二)MBR分析....................错误!未定义书签。(三)主引导码的作用.............错误!未定义书签。(四)分区表分析.................错误!未定义书签。(五)EBR分析.....................错误!未定义书签。第三章、DBR分析..................错误!未定义书签。第四章、误GHOST实战训练.........错误!未定义书签。第五章、FAT表分析................错误!未定义书签。(一)、FAT表的作用..............错误!未定义书签。(二)、数据存储的原理...........错误!未定义书签。第六章、FAT32数据区..............错误!未定义书签。(一)、数据区的论述.............错误!未定义书签。(二)、如何定位根目录...........错误!未定义书签。(三)、根目录分析...............错误!未定义书签。(四)、目录项...................错误!未定义书签。(1)、短文件目录项..........错误!未定义书签。(2)、短文件目录项..........错误!未定义书签。(3)、短文件目录项的数据结构错误!未定义书签。(4)、长文件目录项特性......错误!未定义书签。(5)、长文件目录项的数据结构错误!未定义书签。(五)、“.”和“..”目录项......错误!未定义书签。第七章、数据恢复之目录指向.......错误!未定义书签。(一)、数据丢失的原因...........错误!未定义书签。(二)、案例分析.................错误!未定义书签。(三)、实践数据恢复.............错误!未定义书签。结束语..........................................23参考文献.......................................23致谢..........................................23数据恢复技术研究之FAT文件系统学生:指导老师:范强摘要:本文从文件系统的存储原理入手,阐述了信息化时代下的数据恢复技术在数据灾难性毁灭时的应用,并揭秘数据恢复中的核心技术。关键词:文件系统;扇区;簇;目录项;前言几乎在所有的计算机用户眼中,特别是每个曾有过恶梦般数据丢失经历的人看来,那些能够起死回生,恢复数据的大救星们,早已超越了电脑高手的境界,个个非神即仙,令人心存敬仰。遥想从前,依旧会深深感叹:尽管计算机的各种软硬件技术及其应用频繁更新换代,数据恢复领域的技术、应用、产品、服务却没有同步发展,即使是与相隔最近的存储、备份等姊妹分支相比,其研究与发展的差距也很大。这种局面不仅是区域性的或国内的,而是全球性的和国际的,至少在民用领域和开放的技术层次上如此。这种全局性畸态导致了这样的后果:在国际上,不仅面向军事等专门目标应用的数据恢复高技术被垄断和控制,即使是民用领域层面的,也很少有公开的技术研究和成果交流;保守和封闭不仅阻碍了技术的进步,更导致了能够提供这种稀有服务的少数企业形成了相对稳定和长久的暴利行业。特别是自9.11事件以来引发的对于数据恢复需求的飚升,使数据恢复工程师迅速成为收入最高的IT从业人员,远超最高收入阶层的信息安全工程师。透过现象看本质,其优劣利弊,不言自明。第1章概述一、数据恢复的概念什么是数据恢复?所谓数据恢复是指由于各种原因导致数据损失时把保留在介质上的数据重新恢复的过程。即使数据被删除或硬盘出现故障,只要在介质没有严重受损的情况下,数据就有可能被完好无损地恢复。格式化或误删除引起的数据损失的情况下,大部分数据仍未损坏,用软件重新恢复连接环节的话,可以重读数据,如果硬盘因硬件损坏而无法访问时,更换发生故障的零件,即可恢复数据。在介质严重受损或数据被覆盖情况,数据将无法恢复。二、数据恢复的简单介绍数据备份是数据安全的第一条防线而数据恢复则是数据恢复的最后一道防线,数据恢复并不是人们想象的那样深不可测,也不像一些人想象的那么简单,它是一门实实在在的,有着自己特殊规律和理论支撑的技术学科,需要认真深入地进行研究,才可以逐补解决一些关键技术问题,才能够真正发展这一学科。数据恢复不是能简单操作几个数据恢复软件就能完成的,也许你会用软件可以恢复部分数据,但用户不会考虑数据存储结构也不会考虑数据覆盖的问题,这会导致很多数据遭受到破坏,从而破坏数据恢复现场。现在普通用户主要用的文件系统有FAT32和NTFS系统,现在在这里研究FAT32文件系统。首先简单介绍下FAT文件系统,FAT32实际上是文件分配表采取的一种行式,它是相对FAT16而言的。众所周知,Dos和Windows95采用的都是FAT16格式。至于FAT32,准确地说是在Windows95OSR2中第一次出现的,之所以没有宣传是因为当时该文件系统还不够成熟,尚处于试探阶段。那么为什么一定要推出FAT32呢?这主要是由其自身的优越性决定的。首先,它可以大大地节约磁盘空间。文件在磁盘上是以簇的方式存放的,簇里存放了一个文件就不能再存放另外的文件。假如一个磁盘的分区大小为512MB,基于FAT16的系统的簇的大小为8KB,而FAT32系统的簇的大小仅是4KB,那么,现在我们存放一个3KB的文件,FAT16系统就会有5KB的空间被浪费,而FAT32的浪费则会少一些。如果分区达到1GB,FAT16的簇为16KB,而FAT32还是4KB,节省的也就更多了。在推出FAT32文件系统之前,通常PC机使用的文件系统是FAT16。像基于MS-DOS,Win95等系统都采用了FAT16文件系统。在Win9X下,FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在FAT16的情况下,分区越大簇就相应的要增大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,FAT16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统FAT32。第2章FAT32组成结构一.硬盘的组成结构在此我们分析下在FAT文件下硬盘的组成结构:把硬盘可以分成如下结构:MBR(主引导记录)DBR(引导记录)FAT1(文件分配表)FA2(备份文件分配表)DIR(根目录)DATA(数据区)二.MBR分析MBR一般位于硬盘的0号扇区,由三大部分组成:引导码(0x00-0x1BD),分区表(0x1BE-0x1FD),结束标记(55AA).如下图:在此介绍一款软件,WINHEX(十六进制编译器)下面是我硬盘数据0号扇区的截图,包括以上信息。446字节的主引导骂,包含一段指令,用以通知计算机如何访问分区表并定位操作系统的位置,引导代码可以实现多系统引导,可用以下两种方法实现多系统的引导:1,MBR的主引导程序先加载WINDWOS引导代码,然后由WINDOWS引导代码再呈现给用户一个操作系统的选择界面。2,改变MBR中的引导代码,修改之后的引导代码会直接呈现给用户一个选项列表,由用户选择从哪个分区进行引导。三.主引导码的作用首先计算机通电进行自检,并由BIOS(即基本输入输出系统)完成基本硬件配置,然后读取硬盘的MBR(主引导记录)检查硬盘分区表以确定引导分区,并将引导分区上的操作系统引导扇区调入内存中执行,此处即执行NTLDR(操作系统加载器)文件。四.分区表分析分区表(0x00-0x1BD),下图蓝色部分为分区表,总共占用64个字节,4个分区表项,每个分区表项占用16字节,每个表项描述一个DOS分区,最多可以描述4个主分区。为了便于大硬盘管理,四个分区远远达不到大容量硬盘的需求,这便有了扩展分区,再在扩展分区的基础上有了逻辑分区的概念。如果使用到逻辑分区,就会有EBR它跟MBR类似,只是EBR中没有引导码,MBR和EBR都有分区表,以单链的形式记录分区关系。其中每个分区表的组成结构都是一样的,第一个字节表示该分区的状态,80表示激活态,00表示灭活态,一块硬盘在操作系统中只允许有一个激活态;第二.三.四字节表示是该分区位于硬盘的哪个起始磁头号.扇区号.主面号。这里采用的是CHS寻址方式,由于FAT16后推出的文件系统都采用LBA寻址方式所以这里的字节码可以随便填,并不影响数据的存储,但如果才用磁盘检测工具会检测出CHS地址偏移错误。第五个字节表示分区所采用的文件系统,07表示是NTFS文件系统,06表示FAT16基本分区,0B表示FAT32,0C表示增强型FAT32系统,0F表示LBA寻址的扩展分区,05表示CHS的扩展分区,83表示Linux分区,00表示该分区未使用。第6、7、8字节表示分区的结束磁头号.扇区号.主面号;第9、10、11、12字节表示该分区的起始扇区;第13.14.15.16字节表示该分区的大小。在此说明,在使用WINHEX编译数据时,里面字节码都是逆向填充的。分区表项数据结构:偏移(十六进制)字节数描述001可引导标志,00-不可引导,80-可引导01-033分区起始CHS地址041分区类型:0BFAT32分区,大于8.4G的分区。0CFAT32分区,小于8.4G的分区。07NTFS分区。0F扩展分区05-073分区结束CHS地址08-0B4分区起始LBA地址,该分区的起始扇区号0C-0F4该分区的大小五.EBR分析上文粗略的讲解下EBR,EBR就是虚拟的引导记录,当一个硬盘上存在有扩展分区的概念时就一定会存在EBR,原因就主引导记录中只有四块分区表,无法满足大容量硬盘的需求。扩展引导记录将记录只包含扩展分区中每个逻辑驱动器的第一个柱面的第一面的信息。第一个逻辑驱动器的扩展分区表中的第一项指向它自身的引导扇区。第二项指向下一个逻辑驱动器的EBR。如果不存在进一步的逻辑驱动器,第二项就不会使用,而且被记录成一系列零。如果有附加的逻辑驱动器,那么第二个逻辑驱动器的扩展分区表的第一项会指向它本身的引导扇区。第二个逻辑驱动器的扩展分区表的第二项指向下一个逻辑驱动器的EBR。扩展分区表的第三项和第四项永远都不会被使用。第三章DBR分析MBR参数已经讲完,下面我们我们来了解下DBR,DBR就是分区引导记录,当DBR损坏时,会出现磁盘未格式化,如下图所示:这就是典型的DBR损坏所找成的数据丢失,备份的DBR一般在第6扇区,如果当前的DBR丢失可以用第6扇区的备份开恢复,一般DBR丢失后备份的DBR也会丢失。这中情况下可以手工填充DBR,下面的就是我们的DBR重要参