发明名称 一种IM删除信息的恢复方法
摘要 本发明公开了一种IM删除信息的恢复方法,包括未使用空间数据的获取和从未使用空间中恢复删除数据,其中:删除的IM信息数据主要流入到复合文件的三个地方:空闲扇区、文件残留区、无目录结构对应的扇区;只要获取到未使用空间数据以后,接下来就可以解析里面的数据;本发明通过全局标识方法,充分的挖掘了复合文件中的未使用空间并采用IM数据特征搜索方法进行删除信息恢复,与现有的IM删除信息恢复软件相比该方法具有恢复准确度高、恢复信息全面的特点,通过该方法进行IM删除信息在最大程度上保证了删除信息能被恢复出来,为其他采用复合文件结构作为存储结构的文件的数据恢复提供了一种重要的思路,将广泛应用于相关数据删除、数据解析领域。
申请公布号 CN102902814A 申请公布日期 2013.01.30
申请号 CN201210407437.8 申请日期 2012.10.24
申请人 厦门市美亚柏科信息股份有限公司 发明人 沈长达;沈少凡;林艺滨;钱镜洁
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京恒都律师事务所 11395 代理人 安筱琼
主权项 一种IM删除信息的恢复方法,其特征在于:包括未使用空间数据的获取方法和从未使用空间中恢复删除数据的方法,其中:删除的IM信息数据主要流入到复合文件的三个地方:空闲扇区、文件残留区、无目录结构对应的扇区;所述未使用空间数据的获取方法由以下几个步骤实现:a) 预处理:解析复合文件的头部结构,并获取长扇区分配表SAT、短扇区分配表SSAT、以及长扇区的长度LSectorSize和短扇区长度LSectorSize,并用N=LSectorSize/LSectorSize表示长扇区长度是短扇区长度的多少倍,解析目录流结构,获取复合文件中各个文件的对应的扇区链;b) 空闲扇区的获取:空闲空间为扇区表中value为‑1所对应的扇区,因此获取空闲空间的步骤为:遍历整个扇区表,将扇区表中value为‑1对应的扇区的数据放入到pUnusedBuffer;c) 文件残留区的获取;遍历复合文件里面包含的所有文件,如果发现sectorsize*n>filesize,则将该文件从偏移filesize到偏移sectorsize*n区间所包含的数据加入到pUnusedBuffer中;d) 无目录结构对应的扇区的获取:在扇区表中,有一些扇区链没有被文件指向,这些链对应的扇区就是无目录结构的扇区,在某些情况下,当一些IM信息被删除时,只是清空相应的目录结构,扇区表中的扇区链并没有清空,为了获取这些扇区的信息,采用全局标记的方法进行获取;所述从未使用空间中恢复删除数据的方法由以下几个步骤实现:A) 删除聊天记录的恢复: 确定所获取的pUnusedBuffer数据中是否包含正常的聊天记录需要以下步骤:1)、初步判断:根据聊天记录的格式,判断总长度是否等于“0x14+4+dwBlockLen1+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"和"性别"字段。
地址 361008 福建省厦门市软件园二期观日路12号102-402单元