本人最近在网上收集的数据恢复资料

[复制链接]

该用户从未签到

63

主题

338

回帖

3623

积分

[INTOHARD]团长

Rank: 8Rank: 8

积分
3623
发表于 2008-7-26 22:24:41 | 显示全部楼层 |阅读模式
3.3.1  [wiki]硬盘[/wiki]的分区
对于“硬盘分区”这个操作,系统只是修改了MBR(硬盘主引导记录)和DBR(DOS引导记录),绝大部分的DATA区的数据并没有被修改。但由于MBR,DBR的改变而导致文件路径被破坏,这样系统仍然不能正常读取文件。

3.3.2  硬盘的高级[wiki]格式化[/wiki]
当硬盘进行高级格式化时,系统并不是把DATA区的所有数据清除,而只是把相应的[wiki]FAT[/wiki]表和FDT表进行重写,即彻底[wiki]删除[/wiki]所有的文件和子目录,使其FDT和FAT中都不会再有文件或者目录记录登记项,只留有一个卷标,连回收站都给清除了,从而释放文件空间。但是,快速格式化后,其子目录下的文件目录项还保留着。如果在使用“Format”命令时加上了“/U”参数,系统在对分区进行格式化时将强制对每一[wiki]扇区[/wiki]写入“F6”,这样就完全把数据破坏了。

3.3.3  硬盘的低级格式化
硬盘低级格式化又称为物理格式化,低级格式化的主要作用就是为整个硬盘划分出柱面和磁道,再将磁道划分为若干个扇区,在每个扇区的地址场中标志出地址信息,并测试硬盘介质缺陷。

3.3.4  文件的删除
当执行“删除文件”操作时,系统做了两方面的工作:一是在该文件的文件目录表(FDT)上做一个删除标记,即把该文件的文件目录项第一个字符改为“E5H”来表示该文件已经被删除;二是把该文件的文件分配表(FAT)中所占有的簇标记为“空簇”,而DATA区域中的簇仍旧保存着原文件内容。系统在文件分配表中相应位置检测到“0”时,就认为该文件簇处于空闲状态,可以写入其他的文件。

看过我给的《数据恢复技术应用研究论文》这篇文章就知道!其实文件的删除只是在“该文件的文件目录表(FDT)上做一个删除标记,即把该文件的文件目录项第一个字符改为“E5H”来表示该文件已经被删除”,把该文件的文件分配表(FAT)中所占有的簇标记为“空簇”,而DATA区域中的簇仍旧保存着原文件内容。
我们现在需要解决的是:
1、定位FDT
2、搜索文件在FDT的目录项
3、计算文件的开始扇区
FAT16的:文件的逻辑扇区号=保留扇区数+2*FAT占用的扇区数+DIR占用的扇区数+(起始簇号-2)*每簇扇区数。
FAT32的:文件的逻辑扇区号=保留扇区数+2*FAT占用扇区数+(起始簇号-2)*每簇扇区数。

FAT占用的扇区数
保留扇区数
每簇扇区数

可以从DBR中的BPB参数中看出来!
在根据文件在FDT中的大小,可以计算出文件占多少扇区!
主要是针对连续的文件的恢复!

3.3.5  子目录的删除
操作系统对子目录的管理和对文件的管理相同,所以,操作系统对子目录的删除与文件的删除也相同。FAT16或FAT32下子目录的简单操作只是对描述子目录的FDT做一个删除标记,该子目录下所有文件和下一级子目录的所以记录都没有变动,相当于将该子目录“移”到回收站里。[local]4[/local]

4  Windows文件系统结构分析
操作系统对文件的管理是通过文件系统(FAT,FAT32,NTFS)来实现的。文件分配表(FAT)是当使用FAT或FAT32文件系统对特定卷进行格式化时,由Windows所创建的一种数据结构。Windows将与文件相关的信息[wiki]存储[/wiki]在FAT中,以供日后获取文件时使用。FAT32是一种从文件分配表(FAT)文件系统派生而来的文件系统。与FAT相比,FAT32能够支持更小的簇以及更大的[wiki]容量[/wiki],从而能够在FAT32卷上更为高效的分配磁盘空间。NTFS文件系统是一种能够提供各种FAT版本所不具备的性能、安全性、可靠性与先进特性的高级文件系统。

4.1  FAT16文件系统的结构
FAT16文件系统结构如是:DBR--FAT1--FAT2--FDT—DATA。
DBR只占1个扇区,FDT为根目录表,根目录下的DIR项数固定,一般为512项,每项占32[wiki]字节[/wiki],即DIR占32个扇区。
文件的逻辑扇区号=1+2*FAT占用的扇区数+DIR占用的扇区数+(起始簇号-2)*每簇扇区数。
FAT中的记录和磁盘上的簇对应。FAT2为FAT1的备份。FAT的格式有多种,其中FAT16是指文件分配表使用16位表示一个簇(FAT32同理)。可知FAT16最多能管理65536个簇,而每簇最大32[wiki]kb[/wiki],所以FAT16每个分区最大2GB(注:FAT的0,1簇保留,0字节表示磁盘类型,簇号从2开始)。文件目录表(FDT)紧跟在FAT2后,根目录下的文件和子目录在FDT中都有一个“目录登记项”,每项占32字节,项数在BPB中有说明。

4.2  FAT32文件系统的结构
FAT32文件系统结构如是:DBR和其后的保留扇区--FAT1--FAT2-DATA。
DBR占用32个扇区,实际只占用第1和第6 两个扇区,第1扇区起作用,第6扇区是第1扇区的备份。同时在FAT32文件系统中,FDT当作文件处理,不在固定位置,也没有固定大小。
文件的逻辑扇区号=DBR和其后的保留扇区数+2*FAT占用扇区数+(起始簇号-2)*每簇扇区数。
此时因为FDT不固定,要在BPB中读出FDT的入口簇。对于一个确定的分区,可通过逻辑地址来访问该分区中的扇区,逻辑地址从0开始。FAT32中文件目录表(FDT)根目录区无固定位置,并把FDT当作一个普通文件处理,在BPB中指出FDT首簇地址。

4.3  NTFS文件系统的结构
NTFS文件系统结构如是:分区引导扇区——MFT(主文件表)——系统文件——文件区域。
在NTFS中,磁盘上的任何事物都为文件。文件通过MFT来确定其在磁盘上的存储位置。主文件表是一个与文件相对应的数据库,由一系列文件记录组成(卷中每个文件都有一个文件记录,对于大型文件可能有多个记录与之对应)。主文件表自身也有它自己的记录。MFT的文件记录大小一般是固定的,不管簇的大小是多少,均为1k。MFT仅供系统本身组织架构文件系统使用,被称为元数据,不能被应用程序访问。其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。这些文件都以‘$'开始,是隐藏文件,不能用dir命令列出。不过有个工具nfi.exe可以转储重要的元数据文件。NTFS使用逻辑簇号LCN和虚拟簇号VCN来对簇进行定位。LCN是对整个卷从头到尾的编号,相当于FAT系统的逻辑簇号。VCN是对特定文件的簇从头到尾进行编号,VCN可以映射成LCN。NTFS把磁盘分成两大部分,大约12%分配给MFT,余下的用来存储文件。
NTFS将文件作为‘属性/属性值'的集合来处理。文件数据就是未命名属性的值。一个文件通常占用一个文件记录。但当一个文件具有很多项属性值或很零碎的时候,就可能需要占用一个以上的文件记录。在这种情况下,第一个文件记录是其基本的文件记录,存储有该文件需要的其他文件记录的位置。小文件和文件夹将全部存储在文件的MFT记录里。
NTFS的文件夹只是一个简单的文件名和文件引用号的索引,如果目录列表小于一个记录的长度,那么,该文件夹的所有信息都存储在主文件表的记录中。对于大于记录的文件夹则使用B+树进行管理,并用一个指针指向一个外部簇,该簇用来存储那些MFT内存储不了的文件夹的属性。当一个文件很小时,其所有属性和属性值都可以存放在MFT的文件记录中。当属性值能直接存放在MFT中时,该属性就称为常驻属性(resident attribute)。有些属性总是常驻的,这样NTFS才可以确定其他非常驻属性。大文件或大目录的所有属性,就不可能常驻在MFT中。如果一个属性太大而不能存放在只有1KB大小的MFT文件记录中,那么NTFS将从MFT之外为之分配区域。这些区域通常称为一个运行(run)或一个盘区(extent),它们可用来存储属性值,如文件数据。如果以后属性值又增加,那么, NTFS将会再分配一个运行,以便用来存储额外的数据。值存储在运行中而不是在MFT文件记录中的属性称为非常驻属性。在标准属性中,只有可以增长的属性才是非常驻的,对文件来说,可增长属性有数据、属性列表等。

朋友的一个FAT32的盘保留扇区是36,可一般FAT32的保留扇区是32的!我说:是不是因为保留扇区、FAT占用的扇区数
每簇扇区数在FAT32中都不固定呀?

可朋友说:这是和FAT16的区别。fat16的根目录数是确定的,有限制的。而FAT32根目录数是不确定的!




《用winhex分析FAT32的磁盘存储结构》可以很清晰的了解怎么通过FAT+FDT链来查找文件的!
知道文件在FDT的第一簇,可以计算文件的第二簇在FAT表的什么位置。直到FFFFFFOFH结束!


疑问:在《用WinHex分析FAT32的磁盘存储结构》中有以下两点疑问:
1、文章中提到:保留扇区*512=FAT1起始偏移字节  难以理解!

哈哈,刚和朋友“木水”谈论了下问题解决了。

木水 00:50:09
比如说一个分区的保留扇区是32,那他的FAT就在DBR+32

木水 00:52:05
每个扇区有512个字节,那FAT的偏移字节就是(DBR+32)*512啊

木水 00:53:27
如果dbr在0扇区,那FAT就是32*512啊

木水 00:55:29
winhex单独打开一个分区的时候DBR就是在0扇区的

吻蛇起舞 00:56:44
dbr在0扇区?可EBR呢?

木水 00:58:11
ebr是分区表,系统访问分区是从DBR开始的。


2、计算文件在FAT表中第二簇的位置,听朋友说是:就是首簇*4+FAT偏移
FAT偏移 直接搜索F8FFFFOF 就可以知道了!
可这篇文章的计算方法真难理解!


[ 本帖最后由 wsszsmx 于 2008-7-27 01:48 编辑 ]

用WinHex分析FAT32的磁盘存储结构.rar

219.66 KB, 下载次数: 516, 下载积分: 金子 -2

用WinHex手工恢复被删除的文件.rar

157.29 KB, 下载次数: 484, 下载积分: 金子 -2

数据恢复技术应用研究论文(06060320).rar

1.46 MB, 下载次数: 651, 下载积分: 金子 -2

数据恢复.rar

343.46 KB, 下载次数: 691, 下载积分: 金子 -2

该用户从未签到

2

主题

213

回帖

767

积分

[INTOHARD]连长

Rank: 4

积分
767
发表于 2008-7-26 22:42:49 | 显示全部楼层
乖乖,好贴,我来占个沙发坐坐,从来没坐过这么舒服的沙发,呵呵!
[s:190] [s:190] [s:190]
  • TA的每日心情
    开心
    2012-12-11 08:13
  • 签到天数: 1 天

    [LV.1]布衣百姓

    14

    主题

    1421

    回帖

    947

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    947
    发表于 2008-7-26 22:50:21 | 显示全部楼层
    恩,不错的,我收藏了.
  • TA的每日心情
    开心
    2012-12-11 08:13
  • 签到天数: 1 天

    [LV.1]布衣百姓

    14

    主题

    1421

    回帖

    947

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    947
    发表于 2008-7-26 23:05:37 | 显示全部楼层
    对于文件结构方面的知识正需要了解的,不错

    该用户从未签到

    24

    主题

    566

    回帖

    556

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    556
    发表于 2008-7-27 00:06:24 | 显示全部楼层
    这方面的资料才是我在找的。``谢谢了

    该用户从未签到

    1

    主题

    36

    回帖

    119

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    119
    发表于 2008-7-29 13:04:56 | 显示全部楼层
    [s:18] [s:36] 谢谢!!!

    该用户从未签到

    5

    主题

    95

    回帖

    317

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    317
    发表于 2008-7-29 16:22:13 | 显示全部楼层
    先谢谢了先。。感觉不错啊~
    wzg
  • TA的每日心情
    开心
    2012-6-4 10:50
  • 签到天数: 1 天

    [LV.1]布衣百姓

    17

    主题

    238

    回帖

    240

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    240
    QQ
    发表于 2008-7-29 17:05:08 | 显示全部楼层
    对于文件结构方面的知识正需要了解的,不错
    wzg
  • TA的每日心情
    开心
    2012-6-4 10:50
  • 签到天数: 1 天

    [LV.1]布衣百姓

    17

    主题

    238

    回帖

    240

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    240
    QQ
    发表于 2008-7-29 17:05:45 | 显示全部楼层
    先谢谢了先。。感觉不错啊~
    wzg
  • TA的每日心情
    开心
    2012-6-4 10:50
  • 签到天数: 1 天

    [LV.1]布衣百姓

    17

    主题

    238

    回帖

    240

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    240
    QQ
    发表于 2008-7-29 17:06:10 | 显示全部楼层
    这方面的资料才是我在找的。``谢谢了
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表