一种im删除信息的恢复方法

文档序号:6379433阅读:179来源:国知局
专利名称:一种im删除信息的恢复方法
技术领域
本发明属于信息安全与计算机应用技术领域,涉及一种IM删除信息的恢复方法。
背景技术
采用复合文件作为存储结构的IM删除信息的恢复,目前国内研究比较少,较为完整的技术文档和相关专利也较少。目前市场上已有IM删除信息恢复的软件,但是局限性很大,而且目前没有发现頂删除信息恢复相关公开的技术文档或专利。SafeAnalyzer是一款具备IM删除信息恢复的软件,但是由于对存储IM信息的复合文件中的未使用空间挖掘不充分,导致只能恢复出部分的IM删除信息。IM删除信息恢复,主要依赖于复合文件中未使用空间的获取和IM数据特征的搜索。目前已有的技术,对未分配空间的挖掘只限于文件残留区和复合文件中空闲空间(即标志为-I的块)。由于,在很多情况下IM信息被删除后,数据并没有流入到文件残留区或者 空闲空间中,因此采用传统的恢复方法往往恢复效果不尽人意。我们在研究了复合文件格式的基础上,提出了一种采用复合文件作为存储结构的IM删除信息的恢复方法。该方法采用全局标识的方法,尽最大可能的获取了复合文件中未使用空间并进行頂删除信息恢复,从而使頂删除信息的恢复更加完整和准确。

发明内容
本发明所要解决的技术问题是提供一种恢复准确度高、恢复信息全面,通过全局标识方法来恢复IM删除信息的恢复方法。本发明是通过以下技术方案来实现的一种頂删除信息的恢复方法,包括未使用空间数据的获取方法和从未使用空间中恢复删除数据的方法,其中
删除的頂信息数据主要流入到复合文件的三个地方空闲扇区、文件残留区、无目录结构对应的扇区;
所述未使用空间数据的获取方法由以下几个步骤实现
a)预处理解析复合文件的头部结构,并获取长扇区分配表SAT、短扇区分配表SSAT>以及长扇区的长度LSectorSize和短扇区长度LSectorSize,并用N=LSectorSize/LSectorSize表示长扇区长度是短扇区长度的多少倍,解析目录流结构,获取复合文件中各个文件的对应的扇区链;
b)空闲扇区的获取空闲空间为扇区表中value为-I所对应的扇区,因此获取空闲空间的步骤为遍历整个扇区表,将扇区表中value为-I对应的扇区的数据放入到pUnusedBuffer ;
C)文件残留区的获取;遍历复合文件里面包含的所有文件,如果发现sectorsize*n
>filesize,则将该文件从偏移filesize到偏移sectorsize*n区间所包含的数据加入到pUnusedBuffer 中;
d)无目录结构对应的扇区的获取在扇区表中,有一些扇区链没有被文件指向,这些链对应的扇区就是无目录结构的扇区,在某些情况下,当一些頂信息被删除时,只是清空相应的目录结构,扇区表中的扇区链并没有清空,为了获取这些扇区的信息,采用全局标记的方法进行获取;
所述从未使用空间中恢复删除数据的方法由以下几个步骤实现
A)删除聊天记录的恢复确定所获取的pUnusedBuffer数据中是否包含正常的聊天记录需要以下步骤
1)、初步判断根据聊天记录的格式,判断总长度是否等于“0xl4+4+dwBlockLenl+4+dwBlockLen2,,;
2)、再次确认对第二部分的数据进行解密,判断是否解密成功,并判断解密后的头8个字节为 0x4d, 0x53,0x47,0x00,0x00,0x00,0x00,0x00 ; 当1)、2)步骤都判断为是聊天记录的格式是就开始按聊天记录的格式去解析,解析完可进一步判断聊天记录是好友、群还是讨论组,具体做法为,根据第三部分数据解出来的字段名和值的集合,在集合中查找"接收者帐号ID"对应的值进行判断,通过分析正常聊天记录的数据可知,群/讨论组中的聊天记录的接收者帐号为群/讨论组的ID号,因此可在解析正常记录时记录所有群/讨论组ID的集合,通过判断接收者帐号是否在这个集合中来确定是否是群/讨论组中的聊天记录,如果不是群/讨论组的聊天记录,则根据对方的IM帐号ID进行分组;
B)删除好友/群/讨论组信息记录的恢复由于好友/群/讨论组的信息保存在Info, db文件中,且Info, db中的数据大部分是有〃ES〃标识的加密数据,所以通过解密"ES"数据块进行判断。首先对数据块的类型和长度进行初步过滤,以免大量解密操作导致效率较慢,并对数据块的数据进行解密,如果解密成功,且数据是一条TD数据块,则初步判断为一条正常的记录;
当解析成功时可进一步判断该信息是属于好友、群还是讨论组的。具体做法为,对解密出来的TD数据块解析,可得到一组字段名和组的集合,可以通过判断是否同时存在一组字段来确定属于什么类型;其中群成员信息存在"群身份标识"字段,群信息同时存在"群标识〃和〃群名称〃字段,讨论组及成员信息同时存在〃讨论组ID"和〃讨论组名称〃字段,好友个人信息同时存在〃帐号ID"和〃性别〃字段。作为优选,所述全局标记的方法进行获取,其具体操作由以下几个步骤组成
1)、将整个复合文件分成一块一块的,每块的大小为SSectorSize,即每块的大小为短扇区的大小;
2)、遍历长扇区表,对于扇区表第i个位置的value如果为-I或者_2或者_3或者-4的话,则标记第i*N+rTi*N+N的块为被使用;
3)、从复合文件头部获取目录流在扇区表中的起始ID,并获取相应的扇区链。根据获取到的扇区链,针对扇区链中得每个节点将相应的块标记为被使用。具体做法为对于该扇区链中的每个节点j,将j*N+N j*N+2N的块标志为被使用;
4)、遍历复合文件中包含的所有文件得到每个文件对应的扇区链,根据获取到的扇区链,将相应的块标记位被使用,如果获取到的扇区链为短扇区链,则对于该扇区链中得每个节点j ,获取到该短扇区所在的长扇区位置i,以及偏移k(彡k彡N-1),并标记第i*N+N+k块为被使用,5)、遍历所有的块,将没有被标记为被使用的块所对应的数据加入到pUnusedBuffer

本发明IM删除信息的恢复方法的有益效果是本发明提出了一种IM删除信息的恢复方法, 该方法通过全局标识方法,充分的挖掘了复合文件中的未使用空间并采用IM数据特征搜索方法进行删除信息恢复。与现有的IM删除信息恢复软件相比该方法具有恢复准确度高、恢复信息全面的特点,通过该方法进行頂删除信息在最大程度上保证了删除信息能被恢复出来。为其他采用复合文件结构作为存储结构的文件的数据恢复提供了一种重要的思路,将广泛应用于相关数据删除、数据解析领域。


图I为空闲扇区获取流程;
图2为文件残留区获取流程 图3为无目录结构扇区数据获取流程 图4为IM聊天记录恢复流程 图5为好友/群/讨论组信息记录恢复流程 图6为未删除前的恢复效果 图7为删除后的恢复效果 图8为删除后SafeAnalyze恢复效果图。
具体实施例方式如图I至图8所示,本发明的一种頂删除信息的恢复方法,包括未使用空间数据的获取和从未使用空间中恢复删除数据,其中
删除的頂信息数据主要流入到复合文件的三个地方空闲扇区、文件残留区、无目录结构对应的扇区;对应的解释如下表所示
权利要求
1.一种頂删除信息的恢复方法,其特征在于包括未使用空间数据的获取方法和从未使用空间中恢复删除数据的方法,其中 删除的頂信息数据主要流入到复合文件的三个地方空闲扇区、文件残留区、无目录结构对应的扇区; 所述未使用空间数据的获取方法由以下几个步骤实现 a)预处理解析复合文件的头部结构,并获取长扇区分配表SAT、短扇区分配表SSAT>以及长扇区的长度LSectorSize和短扇区长度LSectorSize,并用N=LSectorSize/LSectorSize表示长扇区长度是短扇区长度的多少倍,解析目录流结构,获取复合文件中各个文件的对应的扇区链; b)空闲扇区的获取空闲空间为扇区表中value为-I所对应的扇区,因此获取空闲空间的步骤为遍历整个扇区表,将扇区表中value为-I对应的扇区的数据放入到pUnusedBuffer ; C)文件残留区的获取;遍历复合文件里面包含的所有文件,如果发现sectorsize*n> filesize,则将该文件从偏移filesize到偏移sectorsize*n区间所包含的数据加入到pUnusedBuffer 中; d)无目录结构对应的扇区的获取在扇区表中,有一些扇区链没有被文件指向,这些链对应的扇区就是无目录结构的扇区,在某些情况下,当一些頂信息被删除时,只是清空相应的目录结构,扇区表中的扇区链并没有清空,为了获取这些扇区的信息,采用全局标记的方法进行获取; 所述从未使用空间中恢复删除数据的方法由以下几个步骤实现 A)删除聊天记录的恢复确定所获取的pUnusedBuffer数据中是否包含正常的聊天记录需要以下步骤 1)、初步判断根据聊天记录的格式,判断总长度是否等于“0xl4+4+dwBlockLenl+4+dwBlockLen2,,; 2)、再次确认对第二部分的数据进行解密,判断是否解密成功,并判断解密后的头8个字节为 0x4d, 0x53,0x47,0x00,0x00,0x00,0x00,OxOO ; 当1)、2)步骤都判断为是聊天记录的格式是就开始按聊天记录的格式去解析,解析完可进一步判断聊天记录是好友、群还是讨论组,具体做法为,根据第三部分数据解出来的字段名和值的集合,在集合中查找"接收者帐号ID"对应的值进行判断,通过分析正常聊天记录的数据可知,群/讨论组中的聊天记录的接收者帐号为群/讨论组的ID号,因此可在解析正常记录时记录所有群/讨论组ID的集合,通过判断接收者帐号是否在这个集合中来确定是否是群/讨论组中的聊天记录,如果不是群/讨论组的聊天记录,则根据对方的IM帐号ID进行分组; B)删除好友/群/讨论组信息记录的恢复由于好友/群/讨论组的信息保存在Info, db文件中,且Info, db中的数据大部分是有〃ES〃标识的加密数据,所以通过解密"ES"数据块进行判断; 首先对数据块的类型和长度进行初步过滤,以免大量解密操作导致效率较慢,并对数据块的数据进行解密,如果解密成功,且数据是一条TD数据块,则初步判断为一条正常的记录;当解析成功时可进一步判断该信息是属于好友、群还是讨论组的; 具体做法为,对解密出来的TD数据块解析,可得到一组字段名和组的集合,可以通过判断是否同时存在一组字段来确定属于什么类型;其中群成员信息存在"群身份标识"字段,群信息同时存在〃群标识〃和〃群名称〃字段,讨论组及成员信息同时存在〃讨论组ID"和〃讨论组名称〃字段,好友个人信息同时存在〃帐号ID"和〃性别〃字段。
2.根据权利要求I所述的IM删除信息的恢复方法,其特征在于所述全局标记的方法进行获取,其具体操作由以下几个步骤组成 1)、将整个复合文件分成一块一块的,每块的大小为SSectorSize,即每块的大小为短扇区的大小; 2)、遍历长扇区表,对于扇区表第i个位置的value如果为-I或者_2或者_3或者-4的话,则标记第i*N+rTi*N+N的块为被使用; 3)、从复合文件头部获取目录流在扇区表中的起始ID,并获取相应的扇区链; 根据获取到的扇区链,针对扇区链中得每个节点将相应的块标记为被使用; 具体做法为对于该扇区链中的每个节点j,将j*N+N、*N+2N的块标志为被使用; 4)、遍历复合文件中包含的所有文件得到每个文件对应的扇区链,根据获取到的扇区链,将相应的块标记位被使用,如果获取到的扇区链为短扇区链,则对于该扇区链中得每个节点j,获取到该短扇区所在的长扇区位置 ,以及偏移k(彡k彡N-1),并标记第i*N+N+k块为被使用, 5)、遍历所有的块,将没有被标记为被使用的块所对应的数据加入到pUnusedBuffer中。
全文摘要
本发明公开了一种IM删除信息的恢复方法,包括未使用空间数据的获取和从未使用空间中恢复删除数据,其中删除的IM信息数据主要流入到复合文件的三个地方空闲扇区、文件残留区、无目录结构对应的扇区;只要获取到未使用空间数据以后,接下来就可以解析里面的数据;本发明通过全局标识方法,充分的挖掘了复合文件中的未使用空间并采用IM数据特征搜索方法进行删除信息恢复,与现有的IM删除信息恢复软件相比该方法具有恢复准确度高、恢复信息全面的特点,通过该方法进行IM删除信息在最大程度上保证了删除信息能被恢复出来,为其他采用复合文件结构作为存储结构的文件的数据恢复提供了一种重要的思路,将广泛应用于相关数据删除、数据解析领域。
文档编号G06F17/30GK102902814SQ20121040743
公开日2013年1月30日 申请日期2012年10月24日 优先权日2012年10月24日
发明者沈长达, 沈少凡, 林艺滨, 钱镜洁 申请人:厦门市美亚柏科信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1