一种快速提取Windows中跳转列表文件数据的方法与流程

文档序号:12465933阅读:326来源:国知局
一种快速提取Windows中跳转列表文件数据的方法与流程

本发明涉及信息安全技术领域,特别涉及一种快速提取Windows中跳转列表文件数据的方法。



背景技术:

计算机犯罪使公众蒙受重大的损失,而打击计算机犯罪的关键是必须找到充分、可靠、有说服力的电子证据,因此,计算机和法学的交叉学科——计算机取证(computer forensics)受到越来越多的关注,甚至几年成为FIRST(Forum of Incident Response Security Teams)安全年会的热点。

计算机取证(Computer Forensics)也称计算机法医学,它是指运用计算机辨析技术,对计算机犯罪行为进行分析以确认罪犯及计算机证据,并据此提起诉讼。也就是针对计算机入侵与犯罪,进行证据获取、保存、分析和出示。计算机证据指在计算机系统运行过程中产生的以其记录的内容来证明案件事实的电磁记录物。从技术上计算机取证是一个对受侵计算机系统进行扫描和破解,以对入侵事件进行重建的过程。

为调查计算机犯罪提供彻底、有效和安全的技术,关键是确保证据的真实性、完整性、可靠性和合乎法律规定。

在windows操作系统中,为了方便用户快速打开最近打开过的文档,系统会记录下用户打开过的文件以及这些文件的基本信息,在Windows7中引入了跳转列表(以下简称jumplist)文件类型来记录最近打开的文件,文件可能是文字处理器最近访问的文档、图像编辑器或其他最近使用的项目的图像文件。这些记录Windows系统中文件被打开信息的jumplist文件,在电子数据取证中有着极为重要的作用。



技术实现要素:

本发明针对现有技术的缺陷,提供了一种快速提取Windows中跳转列表文件数据的方法,能有效的解决上述现有技术存在的问题。

一种快速提取Windows中跳转列表文件数据的方法,包括以下步骤:

S1:加载并读取jumplist文件内容,判断是否符合jumplist文件的数据结构,若符合数据结构,则表示文件符合jumplist文件的结构,跳转至S3,否则结束;

S2:使用解析复合文档结构的方法,提取jumplist文件包含的子对象文件内容,并生成对应的子文件;

S3:解析DestList文件的结构;

S4:根据S3中解析的数据内容的结果提取jumplist文件中记录的最近打开文件的信息;

其中S3包含以下详细步骤:

S31:根据S1中解压的数据,遍历查询DestList子对象文件,并读取DestList子对象文件数据内容;

S32:根据DestList子对象文件结构以及下列标准判断是否据是否符合DestList子对象文件的结构:

标准1:DestList子对象文件的相对文件起始偏移0x0~0x03的值固定为0x01000000;

标准2:DestList子对象文件相对文件起始偏移0x04~0x07记录的值等于S2步骤的标准2中的n值;

同时满足上述描述的数据结构才符合DestList子对象文件结构;执行S33,若不满足则结束;

S33:根据S3中描述的DestList子对象文件结构解析该文件中记录的最近打开文件的计算机名、最近打开文件的绝对路径信息;再依据S3中描述的结构,读取每一项记录数据中对应的映射文件;

S34:记录S33中解析到记录最近打开文件的计算机名、最近打开文件的绝对路径、最近打开文件的创建时间、最近打开文件的修改时间、最近打开文件的最后一次访问时间等信息。

作为优选,S1中判断是否符合jumplist文件的数据结构需要两个标准:标准1文件起始地址写有特征标记,且标记字节为0xD0CF11E0A1B11AE1;

标准2:数据内容符合复合文档的结构,并完整的包含所有子对象中必有DestList。

与现有技术相比本发明的优点在于:完整解析jumplist文件数据中包含的全部内容;快速提取jumplist文件中有效数据,帮助个人、企业、公安机关恢复出有效数据。

附图说明

图1为本发明实施例的主流程图;

图2为本发明实施例中步骤S3的流程图;

图3为本发明实施例中DestList文件的结构示意图;

图4为本发明实施例中记录数据结构示意图。

具体实施方式

为使本发明的目的:技术方案及优点更加清楚明白,以下举实施例,对本发明做进一步详细说明。

Windows7操作系统下产生的jumplist文件,常见的存储路径有:%AppData%\Microsoft\Windows\Recent\AutomaticDestinations,%AppData%\Microsoft\Windows\Recent\CustomDestinations,jumplist文件都具有相同的特征头0xD0CF11E0A1B11AE1,文件采用复合文档的结构,按照复合文档结构解析文件中包含的所有信息,通过深入研究其结构特点,发现可通过本发明的方法快速提取文件中的全部数据。在提取jumplist文件中数据时,需要先通过复合文档数据解析的方法获取文件中包含的所有子对象文件,其中包含DestList子对象文件和n个以数字1至n命名的子对象文件,jumplist文件中记录的大部分数据就存储在DestList,DestList子对象文件的结构如图3所示。

DestList文件由文件头加上记录数据组成,在文件头中记录有DestList包含的记录总条数;在每一条记录中,其结构完全一致,通过循环算法即可完整遍历读取DestList中包含的所有信息,另外每一条记录会单独映射一个文件,在映射的文件中会详细记录被最近打开文件的信息。

如图1所示,一种快速提取Windows中跳转列表文件数据的方法,包括以下步骤:

S1加载并读取jumplist文件内容,根据下列标准判断是否符合jumplist文件的数据结构:

标准1:文件起始地址写有特征标记,且标记字节为0xD0CF11E0A1B11AE1;

标准2:数据内容符合复合文档的结构,并完整的包含所有子对象中必有DestList;

读取jumplist文件的数据内容,若同时满足上述标准,则表示文件符合jumplist文件的结构,跳转至S3,否则跳至结束;

S2:使用解析复合文档结构的方法,提取jumplist文件包含的子对象文件内容,并生成对应的子文件;

S3:解析DestList文件的结构,DestList文件由文件特征头和记录数据组成。文件特征头的长度为0x20,起始地址为相对文件内容起始偏移0x0~0x20,在特征头中相对特征头起始偏移0x0~0x03记录的值为定值,且固定为0x01000000,在特征头中相对特征头起始偏移0x04~0x07记录的值表示记录数据的总条数;文件剩余部分为记录数据,记录数据的总条数在文件特征头中已有记录,每一部分的记录数据结构相同,具体结构如图4所示。

需要注意的是,在记录数据中记录最近打开文件的绝对路径信息采用Unicode编码;最近打开文件的时间信息存储在第3项描述的映射文件中,映射文件是在S1步骤中产生的。

S4:根据S3中解析的数据内容的结果提取jumplist文件中记录的最近打开文件的信息。

如图2所示,S3包含以下详细步骤:

S31:根据S1中解压的数据,遍历查询DestList子对象文件,并读取DestList子对象文件数据内容;

S32:根据S3中描述的DestList子对象文件结构以及下列标准判断是否据是否符合DestList子对象文件的结构:

标准1:DestList子对象文件的相对文件起始偏移0x0~0x03的值固定为0x01000000;

标准2:DestList子对象文件相对文件起始偏移0x04~0x07记录的值等于S2步骤的标准2中的n值;

同时满足上述描述的数据结构才符合DestList子对象文件结构则执行S33,若不满足则结束;

S33:根据S3中描述的DestList子对象文件结构解析该文件中记录的最近打开文件的计算机名、最近打开文件的绝对路径信息;再依据S3中描述的结构,读取每一项记录数据中对应的映射文件,在该映射文件中相对文件起始地址偏移0x1C~0x23记录最近打开文件的创建时间,在该映射文件中相对文件起始地址偏移0x23~0x2B记录最近打开文件的修改时间,在该映射文件中相对文件起始地址偏移0x2C~0x33记录最近打开文件的最后一次访问时间。

S34:记录S33中解析到记录最近打开文件的计算机名、最近打开文件的绝对路径、最近打开文件的创建时间、最近打开文件的修改时间、最近打开文件的最后一次访问时间等信息。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1