效率源技术视界-Microsoft文档文件损坏,怎么修复?

Microsoft文档是Microsoft公司的一个文件处理程序生成的文件格式。Microsoft文档在我们的工作生活中运用的非常广泛,因为它属于电子数据中的一类,所以也就具有电子数据的特性:无形性、多样性、真实性、易破坏性。因为其具有易破坏性,所以针对Microsoft文档文件的修复是本文所要论述的内容。

任何文档文件的修复都需要先了解其文档结构,针对Microsoft文档的文件结构,我们分为两类来讨论:

其中一类是DOC/XLS/PPT ,是Microsoft office 2007及之前的版本使用的文件格式,它们是复合文档,文件中包含文字、图片、电子表格数据、声音、视频图像以及其他信息。

◆另一类是DOCX/XLSX/PPTX ,它们是Microsoft office 2007之后版本使用的文件格式,是基于office Open XML标准的压缩文件格式,其中也包含文字、图片、电子表格数据、声音、视频图像等复合信息,但是它与复合文档不同之处在于,所有的文件信息都是基于XML文件进行存储之后,再对于所有的文件数据进行压缩处理。

复合文档

(DOC/XLS/PPT)

效率源技术视界-Microsoft文档文件损坏,怎么修复?

1.复合文档概述

复合文档( Compound Document ) 是一种不仅包含文本而且包括图形、电子表格数据、声音、视频图象以及其它信息的文档。可以把复合文档想象成一个所有者,它装着文本、图形以及多媒体信息如声音和图象。目前建立复合文档的趋势是使用面向对象技术,在这里,非标准信息如图像和声音可以作为独立的、自包含式对象包含在文档中。Document、Excel、PowerPoint等都是用这种格式存储的。

复合文档的原理就像一个文件系统(文件系统:如 FAT 与 NTFS )。复合文档将数据分成许多流( Streams ),这些流又存储在不同的仓库( Storages )里。将复合文档想象成你的 D 盘, D 盘用的是 NTFS ( NT File System )格式,流就相当于 D 盘里的文件,仓库就相当于 D 盘里的文件夹。

流和仓库的命名规则与文件系统相似,同一个仓库下的流及仓库不能重名,不同仓库下可以有同名的流。每个复合文档都有一个根仓库( root storage )。如图1所示:

效率源技术视界-Microsoft文档文件损坏,怎么修复?

图1复合文档仓库和流结构的关系

复合文档中所有的流又分成更小的数据块,叫做数据扇区(sectors)。Sectors可能包含控制数据或用户数据。整个文件由一个头( Header )结构以及其后的所有 Sectors 组成。Sectors 的大小在头中确定,且每个 Sectors 的大小都相同,如图2所示:

效率源技术视界-Microsoft文档文件损坏,怎么修复?

图2 复合文档sectors结构

2.lDOC文档结构

复合文档以sectors为基本单位对文件数据进行管理,如图2所示第一个数据扇区HEADER至关重要,其中存储了管理文件扇区内容的配置表信息,以及文件相关属性描述信息。整个文件的数据内容均是以HEADER数据扇区的内容为基础进行存储管理的。若该扇区被破坏,则会导致文件内容无法正常打开使用。而关于复合文档基于结构的文件修复方案,也是基于HEADER数据扇区管理的所有扇区内容展开的。

在复合文档中涉及多种扇区配置表的概念,其中包含三类扇区配置表:

一是主扇区配置表MSAT,管理文档所有用来存放扇区配置表的扇区数。

二是短扇区配置表SSAT,管理文档中小于指定流大小的短流扇区数。

三是扇区配置表SAT,管理所有用户流(短流除外)和内部控制流的扇区数。在复合文档中扇区数通过SID来表示,一个配置表就是一个SID链。

以doc文档为例说明复合文档基于结构的修复方案:

Doc文档的存储结构,如图3所示:

效率源技术视界-Microsoft文档文件损坏,怎么修复?

图3 doc文档存储结构

图3中各部分结构在任一doc文档中并不一定按照该顺序存储,如图3中doc文档包含各部分的存储顺序和数据扇区排列方式,是以Root Entry为入口,构建一个独立的红黑树(red-black tree),而图3中各部分在doc文档中的存储顺序就是以红黑树中各部分的节点描述信息进行排列存储的。

图3中各部分存储的内容介绍如表所示:

表3 doc文档结构描述

效率源技术视界-Microsoft文档文件损坏,怎么修复?

3.复合文档修复方案

效率源技术视界-Microsoft文档文件损坏,怎么修复?

图4 复合文档修复方案

复合文档文件修复方案有两种,一是基于扇区结构的修复方案,二是基于流数据的修复方案。

基于扇区结构的修复方案:

1、HEADER扇区受损

根据HEADER扇区的固定结构,对HEADER扇区中缺失或错误的字段内容进行修改处理,确保HEADER扇区的内容能够与文档的配置表信息、文档属性描述信息、文档扇区大小等信息正确对应。

HEADER扇区的数据内容结构如图5所示。

效率源技术视界-Microsoft文档文件损坏,怎么修复?

图5 HEADER扇区

2、内部控制流扇区受损

内部控制流扇区一般指的是文档的配置表扇区内容被破坏,包括SAT、SSAT、MSAT这三类配置表扇区内包含的SID值与文档的实际情况不能一一的对应起来,则需要结合HEADER扇区和文档实际扇区内容的情况,对文档中所有的扇区进行解析,判断每个扇区内数据结构对内部控制流扇区进行修改处理,从而重新生成修复完成后的复合文档。

3、用户数据流扇区受损

用户数据流扇区一般指的是在生成文件时,因用户对文档的增删改等操作而改变的文档中存储的数据流扇区被破坏的情况下,对这部分扇区内容进行修复处理。对于这部分数据,则需要结合图3中描述的文件结构来确定文档中存储这些结构的扇区位置,然后判断是其中的哪些结构错误或缺失造成文件被破坏,再针对被破坏结构结合其中存储的固定信息内容进行修复处理。

基于流数据的修复方案:

对于基于流数据的修复方案,针对的是复合文档中基本的扇区结构已经被完全破坏,不能通过文档的扇区配置表以及目录数据流对文档的内容按照图3的结构进行判断处理的情况。

结合复合文档的概念,因为复合文档中存储的内容可能有文字、图片、视频、声音等类型的数据。而这些数据存储在文档中并没有进行再压缩操作,基于流数据的修复方案,就是利用这一点,针对文档中可能存在的不同类型的数据,按照这些类型的数据本身具备的数据结构特点,对文档进行逐字节解析判断。

图片、视频、声音这类的数据因其数据格式都有其固定的结构和标识,在对文档内容进行解析判断时,可结合这类型数据的结构特点进行分析判断。若满足这类数据的结构特点,则提取出来结合这类数据的结构重新保存生成新的文件;若不是,则判断这部分数据是否为文档的内部控制流数据或目录数据流,若都不是,则这部分数据为复合文档的文字数据,并将其提取出来保存为文本文件。

通过基于流数据修复方案修复完成的文档,会将修复出来的数据内容,按照其存储内容的数据类型进行分类保存。基于流数据的修复方案的流程图,如图6所示:

效率源技术视界-Microsoft文档文件损坏,怎么修复?

图6 基于流数据的修复方案流程图

基于office Open XML标准压缩文件

(DOCX/XLSX/PPTX)

1.基于office Open XML标准压缩文件概念

基于office Open XML标准压缩文件本质上是一个ZIP压缩文件。它在结构上完全可以将其看做一个ZIP文件,但是它同时也具备特定的文件目录结构。所以它与其他的ZIP文件不同之处在于,基于office Open XML标准压缩文件解压后包含的文件目录结构具有特定的含义。

2.DOCX文档结构

以DOCX文档为例,DOCX有三个主要的组成部分:部件、内容类型和部件关系。针对这三个组成部分进行详细介绍如下:

A、部件:对应于DOCX文档解压后的一个个文件。这些文件都是包中的文档部件。

表2 Docx文档部件

效率源技术视界-Microsoft文档文件损坏,怎么修复?

基于office Open XML标准压缩文件(DOCX/XLSX/PPTX)使用单独的文件(xml)来表示文档中的每个部分以及附加的内容。它们需要依赖于各部件之间的正确关系保证文件的完整和有效性,如果可以准确保持部件之间的关系,那么文件结构可以任意更改。以DOCX文档为例,它的open xml目录结构如图7所示:

效率源技术视界-Microsoft文档文件损坏,怎么修复?

图7 DOCX文档open xml的文件目录结构

如图7所示,一个文档则是由一个文件夹(或者说容器),由内部的部件各自定义属性和数据,并相互依赖而产生的。一个文件可能会包含这些目录和组件,关于各个文件目录的关系描述如表3所示:

表3 DOCX文档open xml的文件目录内容描述

效率源技术视界-Microsoft文档文件损坏,怎么修复?

B、内容类型

每个文档部件都有一个特定的内容类型。一个部件的内容类型描述了这种文件类型的内容。例如,XML部件包含了Word XML格式定义的标记,而内容类型可以用来分析文档的组成。

C、部件关系

部件关系记录了文档部件之间的逻辑连接,构建关系的方法是:每一个关系中都有一个源一个目的,源是关系命名的部件。例如,document.xml.rels中所有的关系都将document.xml作为它们的源。每个.rels文件都包含一个元素,每个元素都对应一个ID,包括目标部件的内容类型。

3.基于office Open XML标准压缩文件修复方案

效率源技术视界-Microsoft文档文件损坏,怎么修复?

图8 基于office Open XML标准压缩文件修复方案

基于ZIP结构的修复方案

基于ZIP结构的修复方案,对因ZIP结构上的错误或缺失损坏造成的基于office Open XML标准压缩文件无法正常使用的情况适用。对于该修复方案分为三步描述如下:

1) 结合ZIP文件结构的特性,对基于office Open XML标准压缩文件的文件内容进行解析。

2) 通过解析ZIP文件特定的三部分压缩源文件数据区、目录区、目录结束标志,对压缩源文件数据区文件头、压缩源文件目录区数据结构以及压缩源文件目录结束标志内容进行解析,从而判断出造成基于office Open XML标准压缩文件无法正常使用的原因。

3) 对基于office Open XML标准压缩文件中错误、缺失部分结合ZIP压缩文件特定的结构,如数据压缩校验值,数据区、目录区内容的偏移位置和字节长度,压缩源文件目录总数等问题进行解析、判断、修复、完善,保存为新的文件。

基于压缩数据流的修复方案

该方案针对因为压缩数据流不完整造成的文件无法正常使用的情况,这里需要结合表3中描述的各个文件目录的作用对文件进行修复。这里分为两种情况:一是word文件夹下文件内容丢失或损坏;二是其他文件目录下XML文件数据丢失或损坏;

1)word文件夹下文件内容丢失或损坏

◆首先提取出为丢失部分文件数据,按照每个压缩源文件对提取出的文件数据进行解压缩算法实现,对未丢失数据进行解析提取保存到新文件。

◆然后解析出其他未丢失或损坏的XML文件,按照基于office Open XML标准压缩文件三个组成部分,重新组合出新的文件目录结构。

◆最后将重新组合生成的文件目录进行ZIP压缩,并对压缩后的ZIP文件修改文件后缀名(DOCX/XLSX/PPTX)。

2)其他文件目录下XML文件数据丢失或损坏

◆首先,提取出文件中未丢失的压缩源文件数据内容。

◆其次,结合图3中描述的基于office Open XML标准压缩文件完整的文件目录结构,对缺失的XML文件进行构造。

◆最后将重新组合生成的文件目录进行ZIP压缩,并对压缩后的ZIP文件修改文件后缀名(DOCX/XLSX/PPTX)。

本文主要介绍了有关Microsoft文档文件的不同文件格式的结构和修复方案,希望对您有一定的参考价值。

如对文中的操作、描述有任何疑问,或者有相关案件需要协助,欢迎拨打热线电话028-85211099或直接在微信公众号后台给我们留言。

技术干货,在线浏览

效率源在线技术干货来啦!效率源微信公众号定期精选近年最新最实用的技术文章30篇,内容涵盖手机取证、数据库取证、网络取证、Windows取证、AI视频真假鉴别等一系列电子数据取证实战知识,欢迎查阅!

获取途径:

1、点击效率源公众号菜单栏【关于我们】,选择【精选干货】即可进入技术盛宴。

效率源技术视界-Microsoft文档文件损坏,怎么修复?

2、进入页面,效率源精选干货统统都在这里啦。

效率源技术视界-Microsoft文档文件损坏,怎么修复?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/901929.html

(0)
上一篇 2025年1月4日 02:38:01
下一篇 2025年1月4日 02:39:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 木地板烧黑了好大一块怎么处理

    木地板烧黑了好大一块是可以想办法修复的,但如果面积太大的话,就只能重新铺地板或者用和地板相似的墙纸贴上去了,还好没有引起火灾,不然后果不堪设想。下面,我们来看看趣丁网带来的木质地板烧黑一块如何复原吧! 一、木地板烧黑了好大一块怎么处理 1、…

    2025年1月9日
    19.7K00
  • 橱柜受潮起鼓怎么修复

    橱柜受潮起鼓的问题还是比较严重的,这个时候最关键的就是要把受潮的出轨弄干燥,之后再进行修复,如果您还出现了厨房橱柜里返潮发霉的问题,那就直接一并处理,具体修复步骤可以看看趣丁网带来的介绍。 橱柜受潮起鼓怎么修复 橱柜受潮后,请勿将其暴露在阳…

    2025年1月8日
    215.8K00
  • 羊剪绒大衣掉毛怎么修复

    羊剪绒衣服也是羊绒衣服的一种,所以羊毛、羊绒的特性它都有,掉毛、起球也都是正常的,所以我们平常穿着、洗涤、晾晒都是要特别注意的。特别新买的衣服是很容易掉毛的,一些加工过程中的碎毛会粘在表面,洗几回就好了。那么有什么办法可以减少羊剪绒大衣掉毛…

    2025年1月8日 衣物护理
    47.5K00
  • 羊剪绒洗衣机可以洗吗

    羊剪绒大衣是羊绒衣物的一种,它是山羊的长毛剪短之后留下的一层绒毛。羊剪绒大衣清洗和羊绒衣服一样,都要特别注意,清洗也要用温和的洗涤产品,水温也要适宜。羊剪绒因为面料特殊,能不水洗是最好的,不然很容易缩水,机洗也是不推荐的,实在不行的话一定要…

    2025年1月8日 衣物护理
    321.4K00
  • 抽屉一边关不严怎么调整滑轨

    抽屉在家居中比较常见的,在购买时一定要选择大品牌,不然质量差了后期维修也比较麻烦,如果你遇到了抽屉一边关不严,不知道怎么调整滑轨的话,可以看看趣丁网提供的详细介绍吧! 抽屉一边关不严怎么调整滑轨 主要采取两种方法来调整。一是调整滑道平行,内…

    2025年1月8日
    32.2K00
  • 夏天地板鼓起来冬天能回去吗

    夏天地板鼓起来大部分原因都是空气潮湿,地板进水之后就会出现该现象,这种情况放任不管的话冬天并不会好,虽然热胀冷缩,但治标不治本。那么,夏天地板鼓起来了怎么修复?一起来看看趣丁网带来的小妙招吧! 夏天地板鼓起来冬天能回去吗 按照热胀冷缩的原理…

    2025年1月8日
    584.3K00
  • 羽绒服涂层脱落能不能穿

    羽绒服有很多款式,适合不同需求的人。一些羽绒服设计的比较好看,会在表面上有一些涂层图案的设计。但是这些有涂层的地方,穿久了,洗多了难免会有脱皮、掉漆的情况。如果不严重的话或者比较贵重的话,是可以用一些小方法来修复的。 羽绒服涂层脱落能不能穿…

    2025年1月7日 衣物护理
    242.7K00
  • 皮包掉皮用什么护理

    每个人都会有一个皮包,皮包的风格有很多,不管是男士还是女士,都有适合的皮包类型哦。不过买回来的皮包就要注意保养的,可以定期上保养油,不要沾水打湿,要保证干燥,不然就容易出现掉皮或者长霉等等之类的异常情况了,还不容易恢复原样。那么皮包掉皮可以…

    2025年1月7日 衣物护理
    515.6K00
  • 瓷砖被碱性腐蚀可以修复吗

    瓷砖被碱性腐蚀情况如果比较严重的话是不能修复的,如果是刚发现的话,可以用软毛刷浸泡了刷干净,但比较严重的话,需要找专业工人来修复或者直接换新瓷砖。 瓷砖被碱性腐蚀可以修复吗 不严重的可以修复。首先使用瓷砖清洁剂将腐蚀的瓷砖浸泡一段时间,接着…

    2025年1月7日
    117.6K00
  • pu皮衣领子掉皮怎么修复

    pu皮衣是一种仿真皮的材质,它比真皮更便宜,打理也更方便,我们现在买的很多皮革都是PU皮材质的。但PU皮在穿着使用的过程中,是一定要注意保养的,不然也会像真皮那样会掉皮、变形,有皱纹。特别是在衣领、袖口等摩擦频繁的部位。那么PU皮衣领子掉皮…

    2025年1月6日 衣物护理
    696.5K00

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信