word修复工具 windows修复工具在哪里
对于无法打开的文件或乱码文件,本文提供了权威的恢复方法,出自从事数据恢复行业超过 20 年的"技术宅"效哥之手。
适用场景:文件头结构损坏导致文件无法打开
- 步骤 1:打开复合文档
使用WinHex 工具同时打开损坏和正常的复合文档。
- 步骤 2:将页转换成扇区
在 WinHex 中将页转换成扇区进行分析。
- 步骤 3:复制文件头
复制正常复合文档的文件头并覆盖损坏的文件头,然后逐一修改相应参数。
- 步骤 4:定位目录流扇区起始扇区
目录流标志为"root entry",十六进制搜索"52006F00",偏移位置 512=0,如图 2 所示,在扇区 41中找到目录流起始扇区,目录流起始扇区的参数确定为41-1=40,十六进制表示为28。
- 步骤 5:短流开始位置及大小
接下来寻找短流(SSAT)。根据复合文档的定义,目录流的第一表项 0x74 处的 4 个字节表示短流的起始扇区,如图 6 所示,十六进制 2B000000 的值为 43,即短流的开始。
开始扇区为 43-1=42,十六进制值为 2A,0x78 处的 4 个字节表示短流的大小,大小为十六进制 800000,等于 128/64=2,仅占一个扇区,因此大小为1。
- 步骤 6:确定扇区分配表(SAT)
通过十六进制搜索"01000000",偏移位置为 512=0,如图 9 所示,在扇区 40 中找到标准扇区配置表,其中一个扇区为FDFFFFFF,可确认其为 SAT。
SAT 配置表的最后一项为 FDFFFFFF,表示 SAT 配置表的结束,FDFFFFFF 的数量表示 SAT 配置表的数量。在本例中,只有一个 FDFFFFFF,因此只有一项 SAT 配置表。
- 步骤 7:确定主扇区分配表(MSAT)的起始扇区号
主扇区分配表(MSAT)中存储着扇区分配表(SAT)所在的扇区号。
在本例中,只有一个扇区分配表(SAT)。根据复合文档的格式定义,文件头可存储 109 个 SAT 值,这意味着只要文件扇区分配表不超过 109 个,就不需要主扇区分配表。(严格来说,不需要额外的主扇区分配表,因为文件头可以容纳,主扇区分配表(MSAT)仅在 SAT 项超过 109 时,才会使用指定的扇区来记录剩下的值!)
根据定义,无额外主扇区分配表(MSAT)时,主扇区分配表的起始扇区号为 -2,十六进制表示为 FEFFFFFF,占据的扇区数为 0。
- 步骤 8:修复文件头
计算出关键值后,汇总这些值并手动填写文件头信息。修复后的文件头如图 10 所示。保存文件,此时文档仍然无法打开。
- 步骤 9:修复文件内容
确定以上参数后,最后一步是修复 MSAT 的内容。
在 0 扇区定位到 0X4C 处,此处后面的每个字节填写一项 SAT 扇区编号。在本实验中只有一个 SAT,位置为 39,转换成十六进制为 27000000,其余部分填写为 FFFFFFFF。保存文件,本次复合文档手动修复完成。