一种基于内容的Rar文件雕复方法技术

技术编号:5994659 阅读:341 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于内容的Rar文件雕复方法。目前的方法文件恢复效果不好。本发明专利技术方法首先根据用户输入信息定位到需进行文件雕复操作的磁盘分区,通过使用系统API函数获取磁盘分区的必要信息;其次在磁盘分区上搜索Rar文件的文件头块、文件数据块和文件尾块,并记录磁盘分区中的这三种数据块的起始位置;然后对产生的文件头块、文件数据块和文件尾块的集合进行预处理;最后雕复Rar文件。本发明专利技术方法运行速度快,精确度高,能在短时间内准确的搜索出组成Rar文件的各个部分。?

【技术实现步骤摘要】

本专利技术属于信息安全与计算机应用
,涉及一种Rar文件雕复方法,特别 是一种对磁盘中已经删除,相关文件系统元信息遭到破坏时的Rar文件雕复方法。
技术介绍
随着信息时代的到来,计算机和数字设备使用数量的逐年增加。于此同时高科技 犯罪和司法纠纷日益突出,存在于计算机及数字设备中的电子证据逐渐成为新的诉讼证据 之一,大量的计算机犯罪案例的取证工作需要提取保存在计算机中的数据,将犯罪者留在 计算机中的“痕迹”作为有效的诉讼证据提供给法庭,以便将犯罪者绳之以法。此过程涉及 的技术便是目前人们研究与关注的计算机取证技术。数据雕复技术则是计算机取证的核心 技术之一。传统的数据恢复技术依赖于文件系统的元信息,如文件分配表、目录结构等,来恢 复已删除的文件。其原理是大部分文件系统删除文件时并不真正删除数据,而仅仅是将文 件系统元信息中关于该文件的信息做修改,例如将分配给该文件的磁盘区域做上标记以表 示该存储区域未被使用,文件系统可以将其分配给新文件使用。当一个文件被删除后,如 果文件分配表里分配给该文件的簇之间的链接信息仍然存在,则该文件就可以很容易被恢 复。利用文件系统元信息进行数据恢复的处理过程简单且快速,原理是只需要考虑未分配 的磁盘区中的数据恢复问题。然而,当文件系统元信息遭到不可抗力或反取证技术等种种 因素破坏时,此时依赖于文件系统元信息的传统文件恢复技术手段就无效了。文件雕复技 术是对传统数据恢复技术的进一步发展,该技术在不借助文件系统元信息的前提下,尝试 利用特定的文件结构和数据内容来恢复数据文件。因此,文件雕复技术成为计算机取证领 域中的重要研究课题之一,具有重要的理论价值和实际意义。目前,国内外在此领域的研究刚刚起步。国内还没有比较成熟的文件雕复软件,目 前比较著名的文件雕复软件均为国外产品如fesy Recovery,Recover My Files等,这些商 业软件虽然支持大量的不同种类文件,但是效果都不理想,只能恢复在磁盘上连续存储且 数据完整的文件,不能恢复在磁盘上分片存储的文件,不能恢复非关键部位数据损坏的文 件,也不能恢复满足局部完整性的残留文件数据。Rar文件作为最常用的压缩文件之一,其 优点主要在于(1)压缩率高,支持固实压缩,即把要压缩的多个文件作为一个数据流进行 压缩。(2)安全性高,旧版Rar文件使用私有加密算法,新版Rar文件使用AES加密算法,两 种加密算法目前很难破解。(3)Rar文件可以附带冗余修复信息,在压缩文件数据遭到损坏 但修复信息足够完好时可以对压缩文件数据进行修复。目前,Rar文件雕复的基本技术依然是利用文件系统和文件类型的特有信息(File type-specific information)来恢复文件。文件类型最基本的特征的是Header和Footer, 因此可以把这种基本技术称为Header-Footer Carving。Header指示文件的开始数据块, Footer表示文件的结束数据块,两者之间的数据即是该文件内容。基于Header-Footer的 雕复技术,在处理Rar文件雕复问题时,仅能解决在磁盘上连续存储且数据完整的情况,由于Rar文件通常体积较大,在磁盘上通常以分片形式存储,如果添加修改操作频繁,则连续 存储的可能性更小,当Rar文件被删除,由于磁盘使用时间的增加、磁盘空间紧缺等因素的 影响,其文件数据所占用空间被分配给新文件的概率极大,即其文件数据极有可能被重写 覆盖。面对Rar文件分片,数据丢失的雕复问题,传统的Header-Footer Carving并不能得 到很好的结果,目前用于学术研究的一些雕复工具如foremost,PhotoRec等在实际磁盘 的测试中由于采用了类似的雕复技术,虽然在假肯定率上比商业软件有所降低,但由于只 能恢复连续存放的文件,因此仍不能得到让人满意的效果。
技术实现思路
本专利技术的目的是在于克服现有技术中的不足,针对Rar文件结构的独特性,提供 一种Rar文件雕复方法,特别是一种对磁盘中已经删除,相关文件系统元信息遭到破坏时 的Rar文件恢复方法。该方法能面向数据恢复和计算机勘查、侦破、取证工作的需要,对用 户计算机中的Rar文件进行恢复,从而可以对Rar文件进行取证分析,寻找犯罪证据。本专利技术的方法具体步骤如下步骤(1)根据用户输入信息定位到需进行文件雕复操作的磁盘分区,通过使用系统API函数获取磁盘分区的必要信息,所述的必要信息包括磁盘分区的大小、扇区数和簇数 目;步骤(2)在磁盘分区上搜索Rar文件的文件头块、文件数据块和文件尾块,并记录磁盘 分区中的这三种数据块的起始位置;所述的文件头块包括Marker Block、Archive Header和Comment Block ;所述的文件 数据块包括File Header和Data ;所述的文件尾块为End Block ;对于文件头块搜索是通过字符串匹配方法寻找到Marker Block,跳过Marker Block, 利用Head-CRC字段验证Archive Header和Comment Block确保文件头块的正确性;对于文件数据块搜索是先利用Head-Type字段通过字符串匹配的方法进行搜索,然后 利用 Head-CRC 字段验证 File Header ;对于文件尾块搜索是通过字符串匹配的方法在磁盘分区上寻找该块; 步骤(3)对步骤(2)产生的文件头块、文件数据块和文件尾块的集合进行预处理,具体 是通过文件头块、文件数据块和文件尾块的起始位置,利用各个块内部字段排列顺序,依 次获取各个块的大小信息并保存;步骤(4)雕复Rar文件,具体包括以下步骤4-1集合文件数据块,选择该集合々中起始位置最小的文件数据块作为当前处理块I, 以X为首节点创建代表当前待恢复Rar文件的链表Z,并删除集合々中的元素Z ;4-2寻找起始位置冬,如果能寻找到起始位置Λ满足权利要求1. ,其特征在于该方法包括以下步骤步骤(1)根据用户输入信息定位到需进行文件雕复操作的磁盘分区,通过使用系统API函数获取磁盘分区的必要信息,所述的必要信息包括磁盘分区的大小、扇区数和簇数 目;步骤(2)在磁盘分区上搜索Rar文件的文件头块、文件数据块和文件尾块,并记录磁盘 分区中的这三种数据块的起始位置;所述的文件头块包括Marker Block、Archive Header和Comment Block ;所述的文件 数据块包括File Header和Data ;所述的文件尾块为End Block ;对于文件头块搜索是通过字符串匹配方法寻找到Marker Block,跳过Marker Block, 利用Head-CRC字段验证Archive Header和Comment Block确保文件头块的正确性;对于文件数据块搜索是先利用Head-Type字段通过字符串匹配的方法进行搜索,然后 利用 Head-CRC 字段验证 File Header ;对于文件尾块搜索是通过字符串匹配的方法在磁盘分区上寻找该块; 步骤(3)对步骤(2)产生的文件头块、文件数据块和文件尾块的集合进行预处理,具体 是通过文件头块、文件数据块和文件尾块的起始位置,利用各个块内部字段排列顺序,依 次获取各个块的大本文档来自技高网
...

【技术保护点】
一种基于内容的Rar文件雕复方法,其特征在于该方法包括以下步骤:步骤(1)根据用户输入信息定位到需进行文件雕复操作的磁盘分区,通过使用系统API函数获取磁盘分区的必要信息,所述的必要信息包括磁盘分区的大小、扇区数和簇数目;步骤(2)在磁盘分区上搜索Rar文件的文件头块、文件数据块和文件尾块,并记录磁盘分区中的这三种数据块的起始位置;所述的文件头块包括Marker Block、Archive Header和Comment Block;所述的文件数据块包括File Header和Data;所述的文件尾块为End Block;对于文件头块搜索是通过字符串匹配方法寻找到Marker Block,跳过Marker Block,利用Head-CRC字段验证Archive Header和Comment Block确保文件头块的正确性;对于文件数据块搜索是先利用Head-Type字段通过字符串匹配的方法进行搜索,然后利用Head-CRC字段验证File Header;对于文件尾块搜索是通过字符串匹配的方法在磁盘分区上寻找该块;步骤(3)对步骤(2)产生的文件头块、文件数据块和文件尾块的集合进行预处理,具体是:通过文件头块、文件数据块和文件尾块的起始位置,利用各个块内部字段排列顺序,依次获取各个块的大小信息并保存;步骤(4)雕复Rar文件,具体包括以下步骤:4-1集合文件数据块,选择该集合D中起始位置最小的文件数据块作为当前处理块X,以X为首节点创建代表当前待恢复Rar文件的链表L,并删除集合D中的元素X;4-2寻找起始位置A↓[Y],如果能寻找到起始位置A↓[Y]满足mod[(A↓[X]+S↓[X]),C]=mod(A↓[Y],C)的文件数据块Y,则将A↓[Y]与A↓[X]作比较,分为情况①和情况②;如果没有找到满足条件的A↓[Y],则转入步骤4-4;情况①:A↓[x]<A↓[Y];如果A↓[Y]-A↓[X]>S↓[X],那么表明文件数据块X与文件数据块Y之间存在断点,则转入步骤4-3如果A↓[Y]-A↓[X]=S↓[X],那么表明文件数据块X与文件数据块Y是连续的,不存在断点,则将文件数据块Y作为当前处理块X,并将Y插入至链表L尾部,删除集合D中的元素Y,转入步骤4-2;如果A↓[Y]-A↓[X]<S↓[X],那么表明文件数据块X与文件数据块Y不属于同一个Rar文件,那么转入步骤4-2;情况②:A↓[X]>A↓[Y];转入步骤4-3;其中A↓[X]代表文件数据块X的起始位置,S↓[X]代表文件数据块X的大小,C代表一个簇的大小;4-3通过枚举解压测试方法寻找文件数据块的断点,具体是:根据文件数据块X的起始位置A↓[X]和文件数据块Y的起始位置A↓[Y],从P↓[s]=「A↓[X]/C」×C开始,至P↓[e]=「A↓[Y]/C」×C结束,以一个簇大小为步长,设置固定大小的滑动窗口,利用Rar文件数据解码模块测试文件数据块,以此确定断点;如果没有找到断点,那么转入步骤4-2;如果找到了断点,那么将文件数据块Y作为当前处理块X,并将Y插入至链表L尾部,删除集合D中的元素Y,转入步骤4-2;4-4确定当前待恢复Rar文件的文件尾块,具体是:集合文件尾块,如果能从该集合E中寻找到起始位置A↓[Y]满足mod[(A↓[X]=S↓[x]),C]=mod(A↓[Y],C)的文件尾块Y,则将A↓[Y]与A↓[X]作比较,分为情况Ⅰ和情况Ⅱ;如果没有找到满足条件的文件尾块Y,则转入步骤4-7;情况Ⅰ:A↓[X]<A↓[Y];如果A↓[Y]-A↓[X]>S↓[X],那么表明文件数据块X与文件尾块Y之间存在断点,则转入步骤4-5,如果A↓[Y]-A↓[X]=S↓[X],那么表明文件数据块X与文件尾块Y是连续的,不存在断点,则将Y插入至链表L尾部,并删除集合E中的文件尾块Y,转入步骤4-6,如果A↓[Y]-A↓[X]<S↓[X],那么表明文件数据块X与文件尾块Y不属于同一个Rar文件,那么转入步骤4-4;情况Ⅱ:A↓[X]>A↓[Y];转入步骤4-5;4-5通过枚举解压测试方法寻找文件数据块的断点,具体是:根据文件数据块X的起始位置AX和文件数据块Y的起始位置A↓[Y],从p↓[e]=「A↓[X]/C」×C开始,至p↓[e]=「A↓[y]/C」×C结束,以一个簇大小为步长,设置固定大小的滑动窗口,利用Rar文件数据解码模块测试文件数据块,以此确定断点;如果没有找到断点,那么转入步骤4-4;如果找到了断点,那么表明找到了一个缺失文件头的Rar文件,将Y插入至链表L尾部,删除集合E中的文件尾块Y,转入步骤4-6;4-6将链表L的首节点作为数据块Y,集合文件头块,如果能从该集合H中寻找到起始位置A↓[X]满足mod[(A↓[X]+S↓[X]),C]=mod(A↓[Y],C...

【技术特征摘要】

【专利技术属性】
技术研发人员:徐明卫英杰郑宁张海平徐建
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:86

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1