一种jpg碎片文件恢复与重组的方法_2

文档序号:9349820阅读:来源:国知局
>[0055]其中JPG文件的全部标志信息包括必需的标志信息和可省略的标志信息两大类,必需的标志信息包括0xFFD8、0x FFDB、Ox FFCO、Ox FFC4、0x FFDA等5个标志信息,可省略的标志信息包括 0XFFE0、0x FFEUOx FFE2、0x FFE3、"SOxFFEEjxFFEF 等 17 个标志信息。
[0056]S26:准确定位JPG文件的全部标志信息所在的簇,并验证其必需的标志信息0xFFD8、0x FFDB、0x FFC0、0x FFC4、0x FFDA的结构是否符合JPG文件中标志信息的结构特点,剔除不包含JPG文件标志信息的簇,更新Hn。
[0057]S27:执行η = η+1,在读取全新札的数据内容;
[0058]S28:判断S27读取的Hn元素是否到达集合H的尾部,若超出范围则跳至S29,否则跳至S24。
[0059]S29:剔除S25中校验不合格的簇,获取S26中的更新,重新整理集合H的元素。
[0060]如图3所示,S4的详细流程如下所述:
[0061]S41:由集合F-(集合H+集合Ε)得到集合W ;在集合H中遍历每一个元素H并读取单个元素记录的最后一个簇,在集合F中定位该簇并取其后的4个元素F所记录的簇作为新集合的一个元素D,直至完成所有集合H的遍历;集合E和集合W以此方法继续创建元素D,由元素D按顺序组成新的集合D ;
[0062]例如集合H的一个元素的簇号为{(6,7)},那么在集合F{4,6,7,9,11,12,13,45,46,47,48,49,50,100,103,104,105}中定位“7”取后 4 位,及{(9,11,12,13)}作为元素 D。
[0063]S42:读取集合H中的第η个元素对应的内容,η的初始值为I ;
[0064]S43:读取集合D中第m个元素的数据,m需满足使元素Dni中记录的第一个簇号大于Hn中记录的最后的一个簇号;
[0065]例如札是{(6、7)},0?为{(9,11,12,13)},9>7,则可以使用,若D ?为{(I, 2,3,4)}, 4〈7,则不能使用这个Dn0
[0066]S44:按照集合Hn中数据在前,集合Dni中数据在后的方式组合数据;
[0067]例如札为{(6,7)},Dn^ {(9,11,12,13)},组合得到{(6, 7,9, 11,12,13)}。
[0068]S45:通过对S44中组合的数据按照JPG解码流程进行校验,以判断是否符合JPG文件结构,若符合则跳至S46,否则跳至S410 ;
[0069]S46:判断S44中组合的数据是否有JPG文件结束的标记0xFFD9,若存在则跳至S413,否则跳至S47 ;
[0070]S47:判断Dni中的最后一个簇号是否大于集合F中的最后一个簇号,若是则跳至S49,否则跳至S48 ;
[0071]S48:在集合F中读取Dni中最后一个簇号的下一个簇号的数据,之后跳至S44 ;
[0072]S49:设m为初始值,在集合F中读取Dni中上一个空闲簇的数据,之后跳至S44 ;
[0073]S410:判断组合后的文件是否具备JPG文件的完整结构,若符合则跳至S411,否则跳至S412 ;
[0074]S411:将上述S46、S410校验合格的组合数据的所在簇号重新标记并写入氏中,更新集合H后再次执行S41进行更新集合D,同时在集合F中剔除被写入Hn元素的簇号;
[0075]S412:判断集合H中的元素是否全部完成JPG碎片重组过程,若全部完成跳至S414,否则跳至S412 ;
[0076]S413:执行 η = η+1,然后跳至 S42 ;
[0077]S414:再次更新集合H,将集合H中无JPG图片数据,即是OxFFDA标志信息后至OxFFDQ之间字节数长度小于64byte的元素剔除。
[0078]本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
【主权项】
1.一种JPG碎片文件恢复与重组的方法,其特征在于包括以下步骤: 51:加载磁盘分区或镜像文件,识别其分区类型,根据文件系统来查找该分区或者镜像的空闲簇,并按照顺序将空闲簇依次写入创建的空闲区集合,将空闲区集合定义为集合F,将存入集合F的一个空闲簇定义为一个元素F ; 52:在集合F中检索含有JPG文件特征头的簇,并将含有JPG文件特征头的元素F组成数据块按照顺序依次写入创建的JPG头块集合中;将JPG头块集合定义为集合H,存入集合H的一个数据块定义为一个元素H ;并在集合F中剔除含有其他文件特征的元素F ; 53:在集合F中检索包含JPG文件特征尾的簇,并按照顺序将空闲簇号依次写入创建的JPG尾块合集中,将JPG尾块合集定义为集合E ; 54:根据上述集合F、集合H、集合E进行数据重组恢复,完成JPG碎片拼接过程; 55:将S4中获取的数据进行整理后导出正确的JPG文件。2.根据权利要求1的一种JPG碎片文件恢复与重组的方法,其特征在于S2的详细流程如下所述: 521:遍历查找集合F,读取集合F中每一个元素F的数据内容; 522:根据JPG文件特征头对每一个元素F进行校验,找符合JPG文件特征头的元素F; 523:根据步骤S22中得到的符合JPG文件特征头元素F,获取元素F后连续的空闲簇组成一个元素H,写入创建的集合H中,同时,在校验集合F每个元素F的数据后,剔除带有其他文件特征的元素F,更新集合F ; 524:读取集合H中的第一个元素H的数据内容;设该元素为Hn;所述η的初始值为I ; 525:根据JPG文件的结构特征,校验Hn中所对应的簇的数据内容是否包含JPG文件的全部标志信息,若包含则跳至S29,若不包含则跳至S26 ; 526:准确定位JPG文件的全部标志信息所在的簇,剔除不包含JPG文件标志信息的簇,更新Hn; 527:执行η = η+1,在读取全新Hn的数据内容; 528:判断S27读取的Hn元素是否到达集合H的尾部,若超出范围则跳至S29,否则跳至 S24 ; 529:剔除S25中校验不合格的簇,获取S26中的更新,重新整理集合H的元素。3.根据权利要求1的一种JPG碎片文件恢复与重组的方法,其特征在于S4的详细流程如下所述: 541:由集合F-(集合H+集合Ε)得到集合W ;在集合H中遍历每一个元素H并读取单个元素记录的最后一个簇,在集合F中定位该簇并取其后的4个元素F所记录的簇作为新集合的一个元素D,直至完成所有集合H的遍历;集合E和集合W以此方法继续创建元素D,由元素D按顺序组成新的集合D ; 542:读取集合H中的第η个元素对应的内容,η的初始值为I ; 543:读取集合D中第m个元素的数据,m需满足使元素Dni中记录的第一个簇号大于H n中记录的最后的一个簇号; 544:按照集合H中数据在前,集合D中数据在后的方式组合数据; 545:通过对S44中组合的数据按照JPG解码流程进行校验,以判断是否符合JPG文件结构,若符合则跳至S46,否则跳至S410 ; 546:判断S44中组合的数据是否有JPG文件结束的标记,若存在则跳至S413,否则跳至 S47 ; 547:判断Dni是否到达集合F的尾部,通过D ?的最后一个簇号是否大于集合F中的最后一个簇号来判断,若是则跳至S49,否则跳至S48 ; 548:在集合F中读取Dni中最后一个簇号的下一个簇号的数据,之后跳至S44 ; 549:设m为初始值,在集合F中读取Dni中上一个空闲簇的数据,之后跳至S44 ; 5410:判断组合后的文件是否具备JPG文件的完整结构,若符合则跳至S411,否则跳至S412 ; 5411:将上述S46、S410校验合格的组合数据的所在簇号重新标记并写入氏中,更新集合H后再次执行S41进行更新集合D,同时在集合F中剔除被写入Hn元素的簇号; 5412:判断集合H中的元素是否全部完成JPG碎片重组过程,若全部完成跳至S414,否则跳至S412 ; 5413:执行η = η+1,然后跳至S42 ; 5414:再次更新集合H,将集合H中无JPG图片数据,即是OxFFDA标志信息后至0xFFD9之间字节数长度小于64byte的元素剔除。
【专利摘要】本发明公开了一种JPG碎片文件恢复与重组的方法,包括以下步骤:S1:创建的空闲区集合;S2:创建的JPG头块集合;S3:创建的JPG尾块合集;S4:根据上述集合进行数据重组恢复,完成JPG碎片拼接过程;S5:将获取的数据进行整理后导出正确的JPG文件。本发明的有益效果如下:可区分文件系统空闲区域,可准确查找到文件系统中所有JPG特征头、特征尾、数据区的所有数据,通过JPG特征头、特征尾、数据区的数据重组JPG文件,主要针对JPG图片在存储介质中为非连续存储的数据碎片进行重组的数据恢复,数据恢复成功率高。
【IPC分类】G06F11/14, G06F17/30
【公开号】CN105068885
【申请号】CN201510444264
【发明人】梁效宁, 许超明, 杨先珉, 赵飞, 朱星海
【申请人】四川效率源信息安全技术有限责任公司
【公开日】2015年11月18日
【申请日】2015年7月27日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1