用WinHex实现NTFS文件系统的数据恢复_第1页
用WinHex实现NTFS文件系统的数据恢复_第2页
用WinHex实现NTFS文件系统的数据恢复_第3页
用WinHex实现NTFS文件系统的数据恢复_第4页
用WinHex实现NTFS文件系统的数据恢复_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用WinHex实现NTFS文件系统的数据恢复WinHextoAchievewithNTFSFileSystemDataRecovery/QiQinAnoverviewofthestructureofNTFSfilesystem,masterfiletable,filerecords,filerecordsrelatedtoproperty,aswellasdatafilesinthediskfiledataofthetargetedarea.OnNTFSfilesystemdatarecoveryanalysisdone,theuseofWinHexdiskeditortorestorethe

2、deletedfileswerecompletedata.Author'saddressInstituteofEducationScienceandTechnology,XuzhouInstituteofTechnology,Xuzhou,Jiangsu,221008,China随着科技的进步,计算机教学已成为现代教育技术的主要技术手段,在教育教学中发挥着越来越重要的作用。在平时教学过程中,计算机可实现电子教案与板书演示、CAI辅助教学、联机测试等多种教学手段,在提高学生学习效率、扩充信息知识量、培养学习和动手能力等方面发挥着重要作用。而这些教学信息均以文件数据的形式存储在计算机中,一

3、旦遇到系统故障、病毒攻击、误删除或格式化造成数据丢失,将影响教学活动的正常开展。NTFS文件系统基于可恢复文件结构设计,在安全性和稳定性方面有显著优势,提供容错结构日志,为多用户设置限制的磁盘配额文件特性,对文件和文件夹有安全验证和数字加密,保护系统的安全,不易产生文件碎片,减少用户数据文件丢失或毁坏的危险。由于系统的优越性,NTFS已取代FAT成为当前主流文件系统。1NTFS文件系统结构分析NTFS文件系统的结构以卷为基础,卷由逻辑分区组成。卷以簇为最小存储管理单元,对磁盘空间和文件对象进行有机操作。簇的大小称卷因子,每簇可按需要分配1、2、4或8扇区,为簇2的募且是整数倍,每扇区512字节

4、,由操作系统建立分区时格式化生成。当分区空间超过2G时,NTFS默认簇是8扇区。NTFS文件系统使用逻辑簇号和虚拟簇号对卷进行管理。逻辑簇号是对卷上所有簇进行顺序编号,虚拟簇号是对文件占用簇的编号,以便于引用文件中的数据。NTFS#卷定义为4个区域:分区引导扇区、主文件表、系统文件和文件数据区1。分区引导扇区位于卷的首扇区,包括分区的引导程序和BIOS参数块(BPB),BPB表中的参数是在建立文件系统时由操作系统生成的,系统根据BPB中参数得到卷的重要信息,对分区引导扇区、主文件表、文件数据等进行卷逻辑地址定位。如果BPB参数丢失,NTFS无法完成数据的定位,文件系统将不能正常使用。主文件表(

5、MFT)是由一系列文件记录组成,与文件数据区中的文件相对应的关系数组,是NTFS的控制中心。NTFS通过文件记录来描述数据文件的各种属性并确定其在磁盘上的存储位置。MFT的前16个文件记录属于系统文件,称为元文件,用于存放系统的元数据。元文件在主文件表中地址固定不变,而对其他文件和文件夹的文件记录在主文件表中的地址则无具体要求。文件记录由记录头、属性列表和结束标志组成。以“46494C45”为开始标志,“FFFFFFFF”为结束标志,大小为1K&NTFS将数据文件作为属性/属性值的集合来处理,属性的内容是属性值(流),由简单字符队列组成。NTFS并不对文件数据进行操作,而通过对属性流读

6、写来对文件进行创建、读写、删除等操作。当文件和文件夹的数据较小时,其所有属性和属性值都可直接存放在文件记录中,称为常驻属性。当文件或文件夹的属性太大而不能直接存放在文件记录中时,称为非常驻属性。NTFS将从主文件表之外的磁盘空间中为非常驻属性值分配存储区域,称为运行。运行主要说明文件在文件数据区簇的分配情况,由多个运行项组成,一个运行项包含一个虚拟簇号,是属性数据内部簇的顺序编号;一个逻辑簇号,是数据储存在磁盘上的位置;以及数据在磁盘上所占用空间的连续簇的数量2。利用文件的逻辑簇号和卷因子相乘得到文件在卷中的物理磁盘地址,NTFS通过这种方法对文件的数据区地址进行定位。2实现NTFS文件系统的

7、数据恢复主要思路在NTFS文件系统中,磁盘上的所有数据都是文件,每个文件在主文件表中都有一个文件记录。在文件创建时,在主文件表中为文件生成一个文件记录;在文件删除或者系统格式化时,并没有破坏磁盘上文件的数据信息,而且文件记录也没有被删除,只是更改标志(偏移0X16H)的属性值,并回收文件所占用的空间。实现NTFS文件系统的数据恢复,首先通过分区引导扇区的BPB表参数定位主文件表、文件的文件记录;分析文件记录以及记录中的属性,获取数据恢复时所需要的文件信息;确定文件的数据区地址;对删除文件进行恢复。2.1对主文件表和文件记录的定位由于文件是通过主文件表的文件记录来确定其在文件数据区的存储位置,因

8、此首先要找到主文件表。主文件表卷起始逻辑地址二卷因子*当前卷的主文件表逻辑簇号。通过卷的引导扇区的BPB参数,可获取主文件表和卷因子信息。分区引导扇区开始偏移OXDH为卷因子,即每簇扇区数;偏移0X30H为主文件表在当前卷的逻辑地址。2.2文件记录属性分析文件记录属性有标准属性、文件名属性、数据流属性、位图属性等类型3。记录头偏移0X16H处为文件使用标志,文件系统通过标志判断文件的当前使用状态。当文件删除时,NTFS并不删除文件记录,仅更改文件记录的使用标志值。00表示文件已删除,01表示文件正常使用,02表示文件夹已删除,03表示文件夹正常使用。文件名属性的类型为30H,是常驻属性,用于存

9、储文件名。需要注意的是,NTFS的文件名采用Unincode字符集,可支持中文和长文件名,当文件名含有超过传统DOS“8.3”的长文件名时,文件记录会有2个30H的文件名属性,第1个是与DOS兼容的短文件名,第2个是完整的长文件名。通过30H属性判断是否为所需要恢复的文件。数据流属性的类型为80H,其中包含有非常驻标识、起始虚结束虚拟簇号、运行的偏移、数据的运行项等内容。通过分析数据流属性中运行的逻辑簇号和虚拟簇号,来对文件在文件数据区定位。2.3文件数据区的定位数据流属性的开头为“80000000”,从属性头开始第5个字节起的4个字节表示属性的长度。第8个字节是非常驻标识,如果该值是0,为常

10、驻属性,表示数据流存储在文件记录中,可在文件记录中对数据直接进行提取操作如果该值为1,说明数据存储在运行中。第17到24字节共8个字节表示起始虚拟簇号,第25到32字节共8个字节表示结束虚拟簇号。号。第33字节表示运行的偏移地址,一般为40H,即从属性头偏移64字节。从运行的偏移处读出数据运行项。在运行中说明各运行项的起始逻辑簇号和该运行项占用的簇数,从而可以定位每一个数据运行,对文件的数据进行提取操作。2.4保存恢复文件通过分析运行项,获取文件在文件数据区起始和结束逻辑扇区地址,直接提取磁盘扇区上的二进制代码,并将数据保存到其他卷上。3用WinHex数据恢复实例在卷E中存入一个名为xyzzy

11、x.rar的压缩文件。按Shift+Delete组合键,彻底删除xyzzyx.rar文件。删除文件后,注意不要对E盘进行写入操作,也不要对磁盘进行碎片整理、磁盘错误扫描等操作。下面介绍实现方法。1)启动WinHex软件。点击“Tool”菜单,选择"OpenDisk”菜单项,打开卷E。首先定位主文件表,单击“GoToSector”按钮,输入“0”,跳转至分区引导扇区。从BPB表开始偏移0X30H0x38H处的值为00000C00H偏移OxDH处的值为08Ho则主文件表的起始逻辑地址为C0000*08=600000H单击工具栏上“GoToOffset”按钮,在“Newposition”对

12、话框中输入主文件表的偏移地址“600000",位置类型选择Sectors”,在“relativeto”复选框中选择“beginning”,单击确定跳转至主文件表。单击工具栏上“Findtext”,在文本框中输入要搜索的文件名“xyzzyx.rar",NTFS里面文件名是用Unincode字符集来表示的,编码类型选择“Unincode",搜索方向选择“Down”。2)经过搜索后,光标停在记录的文件名属性位置上。通过分析30H的文件名属性,可以看到文件名是“xyzzyx.rar",确认是要恢复的文件。从记录头偏移0x16处使用标志值为00,表示文件已被删除。

13、接着分析80H的数据流属性,偏移0XC029DD38处表示此文件为非常驻属性。0XC029DD50为运行的偏移值40H,即从第64个字节开始,偏移0XC029DD7s0xC029DD75为数据运行,只有一个运行项32D104E0AE69o0x32H表示该运行项为3字节的偏移,2字节的文件长度。文件长度为04D1H,即虚拟簇号。文件的起始逻辑簇号为69AEE0H通过计算可知“xyzzyx.rar”文件的起始逻辑扇区地址为69AEE0H*8=34D7700H吉束逻辑扇区地址为(69AEE0H+04DlH)*8=69B3BlH*8=34D9D88H3)单击工具栏上“GoToOffset”按钮,在“N

14、ewposition”对话框中输入文件的起始逻辑扇区地址位34D7700”,置类型选择“Sectors”,在“relativeto”复选框中选择beginning”,单击确定跳转。光标在二进制代码“526172211A0700CF”处停下,看右面字符集可知是Rar的ASCII码,确定是压缩文件的开头标志。单击鼠标右键选择Beginningofblock”,定义文件的数据区开始。再单击工具栏上“GoToOffset”按钮,输入文件的结束逻辑扇区地址“34D9D88",确定转到后的新位置即为该文件数据的结束,单击鼠标右键选择“Endofblock”。4)依次选择“EDITIntoNewFile”,输入文件名“xyzzyx.rar”,保存在桌面,点击确定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论