基于OOXML的演示文稿溯源及编辑过程恢复方法研究

微软公司的0伍ce系列软件自发布以来被广泛应用于文档的编写、演示、统计等领域,PowerPoint是其中一款演示文稿软件。PowerPoint的普遍使用使得大量商业机密及创意产品资料以电子文档的形式保存,然而由于电子文档易复制、易修改的特性,与电子文档相关的知识产权纠纷频繁发生。

在与电子文档相关的知识产权纠纷中,文档的来源性和编辑过程检测是检验的重点。现有的方法多为通过WinHex等二进制读取软件从文件底层读取文件信息,达到检测来源及恢复编辑过程的目的。而0伍ce系列软件自2007版本之后采用了OOXMLc2](Open 0伍ce XML)格式存储文件,OOXML是一种以XML为基础并以ZIP格式压缩的电子文件规范,其将文档属性、文档内容、图表、图片、音视频文件以及文档之间的关系等打包在一起,大大提高了文档的可恢复性。本文结合其独特的XML格式,提出了PowerPoint2010基于OOXML的来源检测及编辑过程恢复的方法。

1 技术原理。

1.1 演示文稿文件结构分析

演示文稿文件采用ZIP格式压缩,修改其后缀名为ZIPacute;即可对其进行解压缩。解压缩后的PPTX文件夹由四部分组成,其中包括三个文件夹:_rels、docProps、ppt,以及一个xml文件:[Content_Types].xml。

_rels文件夹中只有一个.rels文件,它定义了部件之间的关联关系,是解析整个包时要浏览的第一个文件

docProps文件夹包含三个文件:docProps、app.xml描述了软件版本、文档页数、字符总数等:docProps、core.xml描述了作者、文档创建时间、最后修改时间等:docProps、thumbnail.jpeg是演示文稿第一页的缩略图。

ppt文件夹是PowerPoint独有的目录,包含着其特有的文档信息。其中,pptVrels指定文档部件的集合如何组合为一个文档;ppt、media包含文档中嵌入的图片、音频、视频等多媒体文件;ppt、theme描述了文档使用的主题风格;ppt、slides是最重要的文件夹,它包含了每页幻灯片的具体内容及其关系文件。其中,每一页幻灯片都以一个独立的xml文件格式存储,这些xml文件的命名规律为slide+幻灯片序号.xml,与之对应的,ppt、slidesVrels文件夹中存放着各页幻灯片的关系文件,这些关系文件的命名规律为slide幻灯片序号.xml.rels:最后,ppt文件夹的presentation.xml文件负责将整个文件夹中的内容串联在一起形成一个完整的文档

Content_types.xml定义包中各部分的内容类型。

1.2 PPTX文件来源性分析

所谓文件的来源性分析,即通过对源文件与目标文件进行比较,判断两文件是否由同一文件复制而来。

之前提到,幻灯片的具体内容存储在slide+幻灯片序号.xml文件中。分析PPTX文件是否同源,可从这些slide文件的内容人手。

由于xml文件以树状结构存储数据凹,以树状结构解读slide文件可以得到其根节点为p:sld,根节点包含两个一级子节点p:cSld和p:clrMapOvr。其中,用户可在p:cSld节点中创建形状树p:spTree,也就是编辑幻灯片的具体内容。p:pic是p:spTree的子节点,如果幻灯片中插入了图片、音频、视频等多媒体文件,p:pic里将存放这些多媒体文件文件名及xml文档赋予它们的ID号码。p:cSld中还包含着与p:spTree同一级别的另一个子节点p:extLst,xml文档的用户可以在该节点中存放自定义的数据。slide文件的树形结构如图1所示。

由树形结构图可以看到,用户自定义节点p:extLst中存放了四级子节点p14:creationID,该节点拥有属性val,该属性的值可称为幻灯片的creationID值。研究发现,同一演示文稿中的各幻灯片的creationID值均不相同,且分别建立的两个演示文稿文件,其对应页幻灯片的creationID值也不相同。为探究由同一文件复制而来的演示文稿creationID值的变化规律,课题组进行了大量实验。由实验结果总结的规律如表1所示:

由表1可以看出,如果演示文稿A由演示文稿B通过复制操作生成,不论对演示文稿B做内容修改还是对幻灯片页数进行增删,只要演示文稿A中还存留有演示文稿B的任意张幻灯片,其留存的幻灯片就会保留演示文稿B中幻灯片的creationID值。图2所示为sample.pptx、sample —副本.pptx和sample2.pptx中slidel.xml的内容。其中,sample—副本.pptx由sample.pptx复制而来,并对内容做了适当修改,sample2.pptx为另外创建的文件。可以看到前两个文件拥有相同的creationID值(2338748835).而另外创建的文件slidel.xml中的creationID值则完全不同(2411686777)。creationID值通常由8位以上数字组成,两个creationID值完全相同的概率极低。因此,可以判定,演示文稿A如果含有与演示文稿B相同的creationID值,即可说明A与B同源。

1.3 PPTX文件编辑顺序分析

所谓文件编辑顺序分析,即以单个演示文稿分析对象,对演示文稿幻灯片及其多媒体内容的增加、删除等编辑过程进行还原。

1.3.1演示文稿编辑时间链。

之前提到,位于docProps文件夹下的core.xml描述了文档作者、创建时间以及最后修改时间等。研究发现.xml中记录的除了创建时间和修改时间之外,还有一个cp:revision节点。经过实验,得到revlsion节点、创建时间及修改时间的变化规律如表2所示。

由表2可以看出,revlsion节点记录了演示文稿的版本号,即自创建以来修改过的次数。一个新建的pptx文档,其版本号为1。对其进行修改得到的pptx文档,其版本号将随着修改次数递增。图3所示的是演示文稿sample.pptx的原文件及其修改一次后的core.xml内容。因此,从revlsion的数值可以判断出文档编辑次数。显然,revlsion较小的演示文稿编辑顺序先于revlsion较大的演示文稿,结合修改时间即可得到文件编辑的时间链。

1.3.2幻灯片及其多媒体内容的添加次序。

之前提到,ppt、presentation.xml文件负责将整个演示文稿串联在一起。该xml文件的根节点是p:presentation,其下的一级子节点p:sldIdLst中存储着若干二级子节点p:sldld.即演示文稿中的幻灯片列表,p:sldld节点中存储幻灯片的标识号(id)和索引号(r:id)。通过该索引号可在pptVrels、pre—sentation.xml.rels文件中查询到ppt、slides文件夹下对应的幻灯片的名称。

如果幻灯片中插入了多媒体文件,这些多媒体文件的信息将储存在ppt、slides、slide幻灯片序号.xml的p:pic节点。如图1所示,p:pic节点包含三个子节点—p:nvPicPr、p:blipFill、p:spPr,其中,p:nvPicPr中存储了xml文件赋予该多媒体文件的名字(name)和标识号(id),p:blipFill则存储了索引号(r:embed),通过索引号可以在ppt、slidesVrels关系文件中查询多媒体文件的存储路径。

可以看出,无论是幻灯片本身还是幻灯片中添加的多媒体文件,都拥有各自的标识号(id),经过实验,本文总结出幻灯片ID与多媒体ID的变化规律,如表3所示。

由表3可以看出,随着幻灯片的增加,幻灯片的ID随之递增。首张幻灯片的ID值默认为256,第二张幻灯片则为257,以此类推。而当删除其中某个幻灯片时,其他幻灯片的ID值并不会发生改变。同样的,随着幻灯片中插入多媒体文件数量的增加,多媒体文件的ID值也呈递增,幻灯片中加入的首个多媒体文件的ID值默认为4,第二个多媒体文件为5,以此类推,当删除其中某个多媒体文件时,其他多媒体文件的ID值也不会发生改变。因此,完全可以由幻灯片ID和多媒体文件ID分析幻灯片及其多媒体文件的插入顺序及删除情况。如图4所示,在sample.pptx中先后添加三张幻灯片,其幻灯片ID分别为256、257、258,删除第二张幻灯片,可以发现幻灯片ID出现断层。如图5所示,在sample.pptx的第一张幻灯片中先后插入三张图片,其多媒体文件ID分别为4、5、6,删除第二张图片,可以发现多媒体文件ID出现断层。

2 系统功能。

基于第二节所述原理,课题组使用VB.NET语言实现了0伍ce PowerPoint 2010溯源多媒体编辑顺序分析工具。系统分为来源分析模块和多媒体文件分析模块。两个模块的设计流程如图6—7所示。

为了测试系统的功能,课题组首先创建了一个单页的演示文稿文件图片实验.pptx,并在第一页插入了三张图片。复制图片实验.pptx得到图片实验副本.pptx,打开副本并删除三张图片中的第二张。图8显示的是系统对两个演示文稿的来源性分析结果。从结果可以清晰地看出两个演示文稿来源相同,且文件2(图片实验.pptx)的创建早于文件1(图片实验副本.pptx)。打开图片实验.pptx,对幻灯片1进行分析幻灯片1中的多媒体文件添加次序如图7所示。可以看出幻灯片1中的多媒体文件序号从4开始,顺序递增至6。打开图片实验副本.pptx,对幻灯片1进行分析幻灯片1中的多媒体文件添加次序如图9所示。可以看出幻灯片1中的多媒体文件序号从4开始,但缺少了序号为5的节点。结合来源性分析可以判断,文件1为文件2复制所得,并在文件2的基础上删除了图片4。

参考文献:

[1]罗文华.孙道宁.Office Word文档溯源方法研究[J].警察技 术,2015,(4):45—47.

[2] ISO/IEC 29500:2006 Information Technology—Document。

Description and Processing Languages —Office Open XML。

File Formats—Partl—4[S]. 2008.

[3]滑淑然,演示文稿文档格式标准结构分析[J].北京信息科技 大学学报(自然科学版),2010,(S2):37—42.。

2 次访问