用WinHex修复损坏的复合文档文件头

合集下载

用WinHex修复损坏的OFFICE复合文档文件头

用WinHex修复损坏的OFFICE复合文档文件头

用WinHex修复损坏的复合文档文件头用WinHex修复损坏的复合文档文件头说明:1、本教程仅仅针对复合文档(比如Word、Excel等)的文件头损坏后的修复.2、请允许我假设你已经了解复合文档的结构,至少你能知道复合文档中的一些术语(比如:SAT、SSAT MSAT、标准流、短流等),否则,请你弥补相关知识后继续阅读本教程(以前我曾发过一个相关内容的帖子:/viewthread.php?tid=37559extra=&page=1 )3、这个教程中涉及到的文档样本大家可以到/thread-40685-1-1.html中下载.4、网上这方面的资料很少,所以本教程中有的名词是自己“命名”的,因此,相关名词请只在本教程中使用和理解!!如有不明白之处,可以相互交流(我的QQ:409133413)现象打开这个文档时出现乱码(如图):分析数据用WinHex打开这个文档,如下图:分析:这个文档的文件头损坏了,继续分析后面的内容损坏没有,现在把这个文档设置为磁盘(如图),复合文档在储存数据的最小单位是块(一个块是512个字节,相当于一个扇区的数据,所以有时我们也把它称为扇区),这样操作后看到的数据可以以一个扇区的形式呈现,便于分析和手工重建。

经过分析数据发现,这个文档好像只有第0扇区的数据完全破坏了,这个扇区的内容是复合文档的文件头内容,网上有恢复复合文档文件头的视频教程(这个论坛上就有!!),好像就是把一个正常的复合文档的前几行数据复制一下就行了,从理论上讲恢复的成功率极小,几乎是0。

因为复合文档的结构和FAT文件系统极其相似,但比它还要复杂一些(涉及到短流、SSAT和MSAT),复合文档的文件头相当于FAT文件系统中的DBR,有很多参数是要根据文件的具体数据进行相应的修改。

下图中红底黑字部分描述的就是一般要修改的内容(有7处,小的文档一般只改其中的5处),其它部分可以用一个正常的复合文档的相应数据代替。

修复文件头

修复文件头

最近学习了复合文档的格式,在修复复合文档头方面做了不少实践,有了一些心得,经过梳理,做了个例子,把思路和过程介绍给大家,希望能解决你的不时之需!例子中用的文件如下图:名为“实验文档”,是个空文档,里面没有内容,看属性,10,752字节,刚好21扇区,复合文档的文件大小一定是512字节的整数倍,这跟复合文档的设计有关系。

EXCEL,PPT等文件也属于复合文档,也符合这样的特点。

后来我又想,可能有网友会对修复后的文件产生怀疑,没有内容的文件可能说明不了问题,所以我在文件中输入了很短的文本内容!如下图:实验文档是一个正常的文件,另外我用Winhex把该文件的文件头(前面512字节)全部写成了0,最彻底的破坏,保存为“损坏的实验文档”,大家可以用现有的修复软件试一下,能不能修复,我用EasyRecovery Professional没有修复成功!其它的软件没有试过!下面,就请大家跟我一起看,如何把“损坏的实验文档”修复成功!先介绍用到的工具软件Winhex,功能很强大,可以用二进制的方式打开文件,并进行编辑,保存!该软件不仅可以打开文件,还可以打开硬盘,对硬盘数据进行编辑,搜索功能什分强大,用起来非常方便,同时支持脚本,提供API函数。

软件界面如下图:用该软件打开“实验文档”和“损坏的实验文档”,可以对比一下前512字节,为了便于操作,我们需要将文件解释为硬盘,让软件以扇区的方式显示文件内容,看起来直观些!两个文件的在软件里显示如下图:可见,“损坏的实验文档”前面的512字节全是0,文件头被全部破坏,文件无法用office打开!复合文档文件头的定义:Offset Size Contents0 8 复合文档文件标识:D0H CFH11HE0HA1HB1H1AHE1H8 16 此文件的唯一标识(不重要, 可全部为0)24 2 文件格式修订号 (一般为003EH)26 2 文件格式版本号(一般为0003H)28 2 字节顺序规则标识(见3.2)::FEH FFH= Little-EndianFFH FEH= Big-Endian30 2 复合文档中sector的大小(ssz),以2的幂形式存储, sector实际大小为s_size = 2ssz字节(一般为9即512字节, 最小值为7即128字节)32 2 short-sector的大小(见5.1),以2的幂形式存储, short-sector实际大小为s_s_size = 2sssz字节(一般为6即64字节,最大为sector 的大小)34 10 Not used44 4 用于存放扇区配置表(SAT)的sector总数48 4 用于存放目录流的第一个sector的SID (见6)52 4 Not used56 4 标准流的最小大小(一般为4096 bytes), 小于此值的流即为短流。

NTFS文件系统中用WinHex手动恢复文件的研究

NTFS文件系统中用WinHex手动恢复文件的研究

NTFS文件系统中用WinHex手动恢复文件的研究NTFS文件系统是Windows操作系统中常见的文件系统格式,它具有高效的性能和强大的功能。

有时候我们不可避免地会遇到意外删除文件或者文件损坏的情况。

这时候,我们就需要用一些工具来手动恢复这些文件,比如WinHex。

本文将讨论使用WinHex手动恢复NTFS文件系统中的文件的研究。

一、WinHex介绍WinHex是一款功能强大的十六进制编辑和磁盘编辑软件,它可以用于计算机取证、恢复丢失的文件、编辑磁盘/内存/虚拟机、拷贝/克隆/映像化存储介质等。

它支持大多数主流的文件系统,包括NTFS、FAT、ext系列等。

WinHex提供了丰富的工具和功能,可以灵活地进行数据恢复和编辑。

二、NTFS文件系统结构1. MFT(Master File Table):主文件表是NTFS文件系统的核心数据结构,它包含了文件系统中所有文件和目录的元数据信息。

每个文件都有一个对应的记录项在MFT中。

3. 分区表(Partition Table):分区表记录了磁盘上各个分区的信息,包括分区的起始位置、大小等。

4. 日志文件(Log File):NTFS文件系统中有一个日志文件,用来记录文件系统的变化,以确保数据的完整性。

5. 文件数据区(File Data Area):文件数据区保存了文件的实际数据内容。

在实际操作中,当我们需要手动恢复NTFS文件系统中的文件时,可以通过以下步骤使用WinHex进行操作:1. 打开目标磁盘我们需要打开包含被删除或损坏文件的目标磁盘。

在WinHex中,我们可以通过选择“打开”功能,选择目标磁盘进行打开。

2. 寻找MFT在目标磁盘中,我们需要寻找并定位到MFT的位置。

MFT通常在磁盘的起始位置,我们可以通过搜索MFT标志来快速定位到MFT的开始位置。

3. 查找文件记录项一旦我们找到了MFT的位置,我们就可以根据文件的名称或者其他属性来查找对应的文件记录项。

转帖 winhex修复双重破坏之数据

转帖 winhex修复双重破坏之数据

U盘双重破坏之数据恢复一朋友拿一U盘跑来诉苦:“文件都打不开了,看大小都只有4KB。

”我一边安慰朋友一边做镜像(我很喜欢做镜像,1是可以事后细细研究,2是出错有退路)。

当U盘镜像完了以后,Winhex报告错误了,大意是从686592号扇区开始出错了,不可读取。

如下图:信息提示我已经关闭了,大家看686592号扇区的内容就可以了,Winhex无法读取原盘上面的内容,便全部用“无法读取扇区内容”的HEX值填充了,也就是大家看到的“55 4E 52 45 41 44 41 42 4C 45 53 45 43 54 4F 52”了,直到最后一个扇区:文件应该还有点希望吧?先看看文件系统:似乎没什么问题(一般也不太可能是文件系统出问题),再到根目录去看看:几乎所有文件的大小都变成4KB了,这并不是文件被隐藏了。

很明显,黑线框内的文件都没办法恢复了(注意它们的起始扇区)。

好在大部分文件夹都比较靠前(注意它们的起始扇区):我们打开“报验表格(2)”文件夹,里面的文件也都变成4KB了。

我们来看文件目录项里面的文件大小(黑线框):00 10 00 00,这就是文件的大小,右边的数据解释器已经换算成十进制了:4096,单位是字节,4096字节就是4KB了。

我们知道新建一个空白DOC文件也有十几KB,这些文件的大小只有4KB,当然无法打开了。

再看看文件夹里面的文件,它们的起始位置也都比较靠前(黑线框)。

我们看看其中一个文件吧,以“报验申请表”为例,点击它会自动跳到文件起始位置:143472号扇区。

文件开始的位置是“D0 CF 11 E0 A1 B1 1A E1”,这是标准的DOC 文件头,看来文件没有被破坏。

这样的话,我们只要找到文件尾,就可以把文件恢复出来了,而DOC文件的文件尾也是有固定特征的,就是“01 00 FE FF 03 0A 00 00”,或者大家可以用Winhex 打开一个正常的DOC文件来看看就知道了,那么我们搜索“01 00 FE FF 03 0A 00 00”就可以了。

NTFS文件系统中用WinHex手动恢复文件的研究

NTFS文件系统中用WinHex手动恢复文件的研究

NTFS文件系统中用WinHex手动恢复文件的研究引言在日常使用电脑过程中,由于各种原因,我们经常会遇到文件被意外删除、格式化或者损坏的情况。

通常情况下,我们会通过一些数据恢复软件来尝试恢复丢失的文件。

但是有时候这些软件并不能完全满足我们的需求,特别是在某些复杂的情况下。

我们需要一种更加专业的手段来进行文件恢复。

本文将讨论在NTFS(新技术文件系统)文件系统中使用WinHex手动恢复文件的研究。

NTFS文件系统简介NTFS(New Technology File System,新技术文件系统)是Windows操作系统中的一种文件系统,被广泛应用于Windows NT及其后续版本。

NTFS在安全性、可靠性和性能方面都有很好的表现,因此得到了广泛的应用。

在NTFS文件系统中,文件的元数据(metadata)被存储在称为MFT(Master File Table)的地方。

MFT记录了文件的属性、索引以及文件数据的位置等信息。

当文件被删除或者发生损坏时,文件数据本身可能并没有真正的被删除,而是MFT中的一些标记被修改,使得文件“看起来”被删除。

这就为我们提供了一种可能,通过手动操作MFT来恢复被删除的文件。

WinHex介绍WinHex是一款功能强大的16进制编辑器,它可以用于查看和编辑任何文件、磁盘和内存。

除了16进制编辑器的功能外,WinHex还具备了文件恢复、数据恢复、数据分析等功能,因此非常适合我们在NTFS文件系统中进行文件恢复的需求。

使用WinHex手动恢复文件的步骤1. 打开被删除文件所在的分区我们需要在WinHex中打开文件所在的分区。

在打开分区之后,可以通过MFT条目列表来查看所有的文件和目录。

2. 找到被删除文件的MFT条目在MFT条目列表中,我们可以通过文件名或者其他属性来寻找被删除文件的MFT条目。

一旦找到了被删除文件的MFT条目,我们就可以开始操作它来恢复文件。

3. 恢复MFT条目在找到了被删除文件的MFT条目之后,我们需要将其恢复到正常状态。

使用winhex来恢复数据的方法

使用winhex来恢复数据的方法

使用winhex来恢复数据的方法一、数据丢失的痛与恢复的希望。

1.1 数据丢失那可真是个让人头疼的事儿啊。

不管是误删了重要文件,还是硬盘出了故障,感觉就像丢了宝贝一样心急如焚。

不过呢,先别慌,咱还有winhex这个得力助手。

1.2 winhex就像是数据世界里的神奇小魔杖。

它功能强大,能在看似绝望的数据丢失状况下,给我们带来恢复数据的曙光。

二、winhex初了解。

2.1 winhex是啥呢?简单说,它就是一款专门用来处理十六进制数据的软件。

这听起来有点高大上,但实际操作起来也没那么难。

就像学骑自行车,一开始觉得难,上手了就顺溜了。

2.2 你得先把winhex安装好。

这就好比给战士配上武器,安装过程也不复杂,按照提示一步步来就行,别像没头苍蝇似的乱点。

三、开始用winhex恢复数据。

3.1 打开winhex后,首先要做的就是找到你丢失数据的存储设备。

这就如同在茫茫大海里寻找一艘沉船,得找准目标。

比如说你的数据在硬盘里丢了,那就找到对应的硬盘分区。

这一步可不能马虎,要是找错了地儿,那可就是竹篮打水一场空了。

3.2 接下来就是重头戏了。

winhex有个很厉害的功能叫磁盘克隆。

这就像做备份一样,把有问题的磁盘克隆一份。

这时候你得小心翼翼的,就像捧着个易碎的瓷器。

因为这个过程要是出了岔子,那恢复数据就更难了。

克隆完成后,就可以在克隆的副本上进行数据恢复操作。

3.3 查找丢失的数据片段。

这有点像大海捞针,但winhex有它的办法。

它可以通过分析十六进制数据的特征,找到那些可能是你丢失文件的部分。

这就要求你得有点耐心,心急吃不了热豆腐嘛。

有时候可能要花费一些时间去比对和查找,但只要坚持,往往就能找到那些“失踪”的数据。

3.4 恢复数据的时候,也要注意一些细节。

比如说数据的完整性,可不能只恢复个半拉子工程。

要确保恢复出来的数据是可用的,就像检查一件修好的东西是不是真的修好了一样。

四、数据恢复后的检查与预防。

4.1 数据恢复成功后,可别以为就万事大吉了。

easyrecovery及winhex恢复数据的方法

easyrecovery及winhex恢复数据的方法

easyrecovery及winhex恢复数据的方法1. 引言1.1 概述在现代科技时代,数据的丢失或损坏成为一个普遍存在的问题。

不论是个人用户还是企业组织,都可能面临着数据被意外删除、格式化、病毒感染或设备故障等情况。

因此,数据恢复工具的重要性日益突出。

本文将介绍两种常见的数据恢复软件——EasyRecovery和WinHex,并详细阐述它们的工作原理以及在实际应用中的使用方法。

1.2 文章结构本文分为五个主要部分来介绍EasyRecovery和WinHex两款数据恢复工具及其使用方法。

首先,在引言部分将概述文章内容和结构,明确文章目标。

然后,在第二部分将全面介绍EasyRecovery的概述、数据扫描和恢复步骤以及一些相关技巧和注意事项。

接下来,在第三部分将同样对WinHex进行详细阐述,包括其概述、数据分析和修复步骤以及高级功能。

在第四部分,我们将通过实例案例与EasyRecovery和WinHex进行比较分析,展示它们在不同情况下的表现差异。

最后,在结论部分,我们将总结EasyRecovery和WinHex的优点和缺点,并给出适用场景的建议。

1.3 目的本文旨在提供EasyRecovery和WinHex两款数据恢复工具的详细介绍和使用方法,帮助读者了解并掌握这些工具在数据恢复过程中的应用技巧。

通过对比分析实例案例,读者可以更好地选择和利用合适的工具来解决不同类型、不同程度数据丢失问题。

希望本文能够为读者在面对数据损失时提供有效的参考和帮助。

2. EasyRecovery恢复数据方法:2.1 EasyRecovery概述:EasyRecovery是一款功能强大的数据恢复软件,它可以帮助用户从各种存储介质中恢复丢失、删除或损坏的数据。

其主要特点包括简单易用、支持多种文件系统、提供全面的扫描和恢复功能。

2.2 数据扫描和恢复步骤:(1) 打开EasyRecovery软件并选择需要进行数据恢复的存储介质。

NTFS文件系统中用WinHex手动恢复文件的研究

NTFS文件系统中用WinHex手动恢复文件的研究

NTFS文件系统中用WinHex手动恢复文件的研究一、引言在日常使用电脑存储文件时,我们通常会选择NTFS文件系统,因为它具有高效的性能和稳定的特性。

即使是在NTFS文件系统中,文件丢失或被损坏的情况仍然会发生。

为了解决这个问题,我们可以使用数据恢复工具来尝试恢复文件。

本文将介绍NTFS文件系统中使用WinHex手动恢复文件的研究。

二、WinHex简介WinHex是一款功能强大的十六进制编辑器和数据恢复工具,它可以用于文件恢复、磁盘编辑、数据恢复和计算机取证等方面。

其十六进制编辑器可以编辑任何类型的文件,并且可以处理大型文件。

在NTFS文件系统中,WinHex可以帮助我们手动恢复丢失或损坏的文件。

三、NTFS文件系统概述NTFS(New Technology File System)是Windows操作系统中常用的文件系统,具有高效的性能和可靠的特性。

在NTFS文件系统中,文件会被分成多个簇(cluster)进行存储,每个簇的大小由用户设置或系统默认值决定。

当文件被删除或损坏时,其实际数据并没有被立即擦除,而是被标记为可被覆盖的状态。

这就给了我们恢复文件的可能性。

四、使用WinHex手动恢复NTFS文件1. 打开WinHex软件,选择磁盘在使用WinHex进行文件恢复时,首先需要打开软件并选择待恢复文件所在的磁盘。

在选择磁盘时,需要确保选择的是存储着原始数据的磁盘,以免对数据产生意外的损坏。

2. 扫描磁盘并搜索文件头和文件尾在选择了待恢复文件所在的磁盘后,可以使用WinHex的搜索功能来扫描整个磁盘,寻找文件头和文件尾的特征标志。

在NTFS文件系统中,文件头和文件尾的标志通常是固定的,并且可以用来确定文件的起始和结束位置。

3. 寻找文件的起始位置并复制数据一旦找到了文件头的特征标志,就可以确定文件的起始位置。

在WinHex中,可以使用光标来选中文件的起始位置,并将其转换为可复制的数据。

然后可以通过复制数据到新的文件来进行文件的恢复。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用WinHex修复损坏的复合文档文件头
说明:
1、本教程仅仅针对复合文档(比如Word、Excel等)的文件头损坏后的修复.
2、请允许我假设你已经了解复合文档的结构,至少你能知道复合文档中的一些术语(比如:SAT、SSAT MSAT、标准流、短流等)
现象
打开这个文档时出现乱码(如图):
分析数据
用WinHex打开这个文档,如下图:
分析:这个文档的文件头损坏了,继续分析后面的内容损坏没有,现在把这个文档设置为磁盘(如图),复合文档在储存数据的最小单位是块(一个块是512个字节,相当于一个扇区的数据,所以有时我们也把它称为扇区),这样操作后看到的数据可以以一个扇区的形式呈现,便于分析和手工重建。

经过分析数据发现,这个文档好像只有第0扇区的数据完全破坏了,这个扇区的内容是复合文档的文件头内容,网上有恢复复合文档文件头的视频教程(这个论坛上就有!!),好像就是把一个正常的复合文档的前几行数据复制一下就行了,从理论上讲恢复的成功率极小,几乎是0。

因为复合文档的结构和FAT文件系统极其相似,但比它还要复杂一些(涉及到短流、SSAT和MSAT),复合文档的文件头相当于FAT文件系统中的DBR,有很多参数是要根据文件的具体数据进行相应的修改。

下图中红底黑字部分描述的就是一般要修改的内容(有7处,小的文档一般只改其中的5处),其它部分可以用一个正常的复合文档的相应数据代替。

说明:要修改的文件头内容:
1、存放扇区配置表(SAT)的扇区总数(2CH -2FH )
2、存放目录流的第一个扇区的SID (30H -33H )
3、存放短扇区配置表(SSAT)的第一个扇区的SID (3CH -3FH )
4、存放短扇区配置表(SSAT)的扇区总数(40H -43H )
5、存放主扇区配置表的第一个扇区的SID (如果为-2表示没有附加扇区)(44H -47H )
6、存放主扇区配置表的扇区总数(48H -4BH )
7、存放主扇区配置表(MSAT )的第一部分(从4CH 开始,视具体情况决定结束位置)
备注:如果文件比较小(存放主扇区配置表的第一部分在第0扇区没有装满),第5、6两部分不用修改!!
要修复文件头,一般从扇区配置表(SAT )的数据分析开始,SAT 相当于FAT 文件系统中的FAT 表,它把这个复合文档的各类数据“链”在一起,所以我们反过来通过分析它们的链接情况和相应位置的数据,来分析整个文档的数据结构,最后根据相关信息重建文件头,达到修复文件头的目的。

在分析前有必要作一个说明,不然你会越看越糊涂的!!我们现在看到的数据所在的扇区数据和复合文档中描述的扇区数有一个扇区的错位,比如说复合文档中描述的第0扇区在WinHex 中看到的是第1扇区,为了便于区分,把用WinHex 打开看到的扇区叫做物理扇区,文档的参数中描述的扇区叫参数扇区(这是我自己想的一个概念,请只在本教程中使用和理解!!)。

我们可以这样理解:物理0扇区是这个复合文档的文件头,存放了复合文件的一些整体信息,它对后面的数据来说是一个隐藏扇区,所以对数据区来说,它把物理1扇区看成它的第一个扇区(即参数0扇区),物理2扇区就是参数1扇区,依此类推(如下图所示)。

物理扇区 0 1 2 3 4 5 6 …………N 参数扇区 0 1 2 3 4 5 …………N -1
通过分析开始几个扇区的数据很容易判断出物理1扇区的数据就是SAT (如图)
第1扇区(物理)
从这个扇区中的数据可以看到,在参数0扇区和参数100扇区这两个扇区中的数据是SAT 数据(因为相应的位置是FDFFFFFF ,而FDFFFFFF 是存放SAT 扇区标志),参数0扇区就是物理1扇区的位置,现在的这个位置就是SAT 数据,不必再分析,现在到参数100扇区,就是物理101扇区去看看(如图):
第101扇区(物理)
这个扇区中没有FDFFFFFF ,而且从偏移CA6BH 开始,后面全部是FFFFFFFF (空闲的SID ),综合这两个扇区(物理第1和第101
扇区)的数据可以确定:存放扇区配置表(SAT)的扇区总数:2个(要修改的第1个参数);这两个是:参数0扇区和参数100扇区(要修改的第7个参数)。

(其实存放扇区配置表的扇区总数可以根据这个文档的扇区总数直接判断!!)然后分析这两个扇区的SAT链接情况和相应扇区的数据获得以下信息(下面的扇区都是指参数扇区):
SAT:0、100(共2个扇区)
DIR:1、154(共2个扇区)
SSAT:2(共1个扇区)
短流:3、153(共2个扇区)
标准流:4――(100)――152(从参数4扇区到152扇区,不包括参数100扇区,共148扇区)
三、手工修复文件头
1、将一个正常的复合文档的第一个扇区(物理0扇区)的数据复制到这个要修复的文档的物理0扇区位置(如图)
2、修复相应的数据
因为这个文档比较小,所以只修改5个位置,即:
1、存放扇区配置表(SAT)的扇区总数(2CH-2FH):02000000
2、存放目录流的第一个扇区的SID(30H-33H):01000000
3、存放短扇区配置表(SSAT)的第一个扇区的SID(3CH-3FH):02000000
4、存放短扇区配置表(SSAT)的扇区总数(40H-43H):01000000
5、存放主扇区配置表(MSAT)的第一部分:0000000064000000 FFFFFFFF(后面全部是FF)
要修复的数据位置
修复后
然后保存,可以正常打开这个文档(因为这个文档设置的有密码,考虑到隐私问题,不便告诉大家。

大家在拿到这个样本文档边看这个教程边恢复的时候,如果最后恢复后打开这个文档提示输入密码时,说明你恢复成功了,对我们来说,文档的内容不是很重要)。

相关文档
最新文档