一种针对苹果设备的非入侵式数据恢复方法与流程

文档序号:11774288阅读:440来源:国知局

本发明属于数据恢复技术领域,尤其涉及一种数据恢复方法。



背景技术:

苹果(ios)系统作为苹果公司基于unix系统自主研发的操作系统,近几年大量使用在智能设备,如智能手机和平板电脑上,尤其是智能手机在平时生活和商务活动中的广泛应用。如果手机中的通讯录或者短信记录不慎丢失,可能会对手机用户造成损失和不必要的麻烦,因此本发明的提出,能够解决这个问题。

目前主流的数据恢复是针对硬盘等存储设备的数据恢复,且只是将存储索引重建,如果遇到特定格式的文件,则无法解析内容。目前可能在用的通讯录或者短信记录恢复方法还存在以下问题:1.受待恢复苹果手机的存储空间、处理速度有限的限制,恢复效率慢;2.增加待恢复安卓手机的能量损耗,缩短安卓手机的待机时间等。



技术实现要素:

本发明的目的在于:提供一种针对苹果设备的非入侵式数据恢复方法,以解决目前缺少一种不受手机本身性能影响且安全性好的苹果手机通讯录和短信数据的方法,不仅具有速度快、效率高的特点,而且还不会造成待恢复苹果手机发生任何变化,即系统中不会增加新的程序、设备的物理存储空间不会发生变化。

本发明采用的技术方案如下:

一种针对苹果设备的非入侵式数据恢复方法,包括以下步骤:

步骤一(s1):通过数据线将待恢复苹果手机连接于恢复设备;

步骤二(s2):恢复设备通过libimobiledevice调用待恢复苹果手机信息,如果不能调用,则要求用户在待恢复苹果手机点击信任这台电脑;

步骤三(s3):恢复设备通过libimobiledevice检索待恢复苹果手机的信息和已删除的通讯录及短信数据库文件;

步骤四(s4):通过libimobiledevice将待恢复手机上被检索到的通讯录及短信数据库文件拷贝到恢复设备上;

步骤五(s5):恢复设备采用特定格式分析的方式对拷贝的通讯录及短信数据库文件进行匹配、恢复,通讯录及短信数据库文件正常恢复后,向用户展示恢复结果;

步骤六(s6):恢复设备返回恢复结果,用户确认后,通过恢复设备删除所有拷贝数据。

进一步的,步骤三中,通过使用libimobiledevice检索的方式,检索已删除的通讯录及短信数据库文件的方法如下:

步骤3.1:解析sqlite数据库文件,找到unallocateedblock和freeblock,并设置reset覆盖率计数器;

步骤3.2:获取unallocateedblock和freeblock的文件大小,判断其文件头是否为sqlite;

步骤3.3:读取文件头为sqlite的文件数据,并解析sms表,得到被删除的通讯录及短信数据。

进一步的,步骤五中,如果通讯录及短信数据库文件未正常恢复,则进行人工分析,并且在人工分析完成后,将新的特定格式加入恢复设备。

进一步的,所述步骤中,从检索到数据拷贝是通过在mac环境中完成调试工具集成到恢复设备的过程,包括如下步骤:

4.1:安装工具和相关环境;

4.2:将libimobiledevice工程下载下来,执行autogen.sh脚本,执行完毕后进行make和sudomakeinstall编译;

4.3:安装ideviceinstaller工具,用于给ios设备安装卸载应用或者备份应用。

进一步的,如果出现部分通讯录及短信数据库文件没有正常恢复的情况,则通过以下动作,具体步骤如下:

5.1:配置包含了ipa包下载安装路径和app配置信息的plist文件,并将plist文件放置在一个https的服务上来进行访问;

5.2:配置下载链接,当打开plist文件时,待恢复苹果手机就会下载ipa包并进行安装。

进一步的,通信录数据库文件的匹配、恢复过程如下:

6.1:在通信录数据库文件释放的块中,按照特定格式搜索被删除的通信录数据,分别独立搜索用户名和手机号,并记录每一项的_id,然后按照_id一致关系,将恢复的用户名和手机号对应起来;

6.2:用正则表达式匹配联系人名称,未找到则返回到a.1步骤,若成功匹配,则继续进行下一步骤;

6.3:搜索手机号,用正则表达式匹配联系人号码,未找到则返回a.1,若成功匹配,则进入到下一步骤;

6.4:在数组中匹配手机号,若手机号小于最小长度则中断,读取数组头部,在通信录数据库表中判断mimetype_id与mimetypes表中读取的值是否一致,若不一致,则continue;若一致,则进入下一步;

6.5:将数组中未处理的数据块转化为字符串,并用正则表达式匹配手机号,匹配到的手机号用于在总字节数组中定位查找。

进一步的,通信录数据库文件的匹配、恢复过程还包括:

7.1:在数组中搜索提取到的手机号,重新计算手机号在数组中的偏移,并定位;如果定位到手机号,但是当前匹配的手机号的头部小于最小头部长度,则继续往后搜索;

7.2:读取手机号之前最小头部长度个bytes,记录当前区块的起始位置,用于覆盖率计算。

进一步的,步骤5中,还包括短信内容及后续数据处理:

8.1:计算短信内容的起始偏移,并用中文文本编码规则utf8匹配短信文本,过滤噪音;

8.2:计算短信内容长度和实际读取到的短信内容长度并对比是否相符,若不相符,则认为短信内容被破坏,更新当前偏移指针;若相符,则定位紧跟在短信内容后面的并计算,得到检测号码;

8.3:记录当前区块的结束位置;

8.4:获取已存在短信,并导出到日志文件;

8.5:暴力搜索短信数据库文件中的所有文本字符串;

8.6:若当前恢复出的文本如果不存在于已存在短信和已删除短信文本中,且至少包含两个中文字符,则视为合法短信文本,添加之。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

1.本发明提供针对苹果手机内通讯录及短信数据库内容的恢复,通过前期收集分析了目前市场上大多数版本的苹果手机的通讯录和短信数据库文件的特征格式,植入恢复设备中,能够对大多数的苹果手机进行快速准确的通讯录及短信记录的恢复。本发明方法在恢复数据时,恢复设备和待恢复苹果手机通过数据线构成一个封闭系统,数据恢复过程都在恢复设备上完成,不受待恢复苹果手机的存储空间、处理速度有限的限制,可以更快更准确进行,同时不会增加待恢复苹果手机的能量损耗,提高苹果手机的待机时间;恢复完成后,向用户展示恢复结果;用户确认完成后,恢复设备将彻底删除从苹果手机上拷贝的所有数据,保证用户的所有信息不会发生任何泄露。

2.本发明方法提供了一种针对苹果设备的非侵入的数据恢复方法,不会造成待恢复苹果手机发生任何变化,即系统中不会增加新的程序、设备的物理存储空间不会发生变化。恢复设备通过libimobiledevice将苹果手机的通讯录及短信数据库文件到恢复设备上进行数据解析,恢复和展示的工作,并在恢复完成后将从苹果手机拷贝的相关数据彻底删除,保证客户的信息不会出现泄漏。

附图说明

图1是本发明的方法流程示意图。

具体实施方式

本说明书中公开的所有特征,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

下面结合一种针对苹果设备的非入侵式的数据恢复方法的流程图对本发明作详细说明。

目前主流的数据恢复是针对硬盘等存储设备的数据恢复,且只是将存储索引重建,如果遇到特定格式的文件,则无法解析内容。本发明提供针对苹果手机内通讯录及短信数据库内容的恢复,通过前期收集分析了目前市场上大多数品牌及型号的苹果手机的通讯录和短信数据库文件的特征格式,植入恢复设备中,能够对大多数的苹果手机进行快速准确的通讯录及短信记录的恢复。

一种针对苹果设备的非入侵式数据恢复方法,包括以下步骤:

步骤一:通过数据线将待恢复苹果手机连接于恢复设备;恢复设备中植入了目前市场上大多数版本的苹果手机的通讯录和短信数据库文件的特征格式;

所述方法中,苹果手机是采用lightning接口,也称为闪电接口,是苹果公司制作的专属连接器规格。此连接器针脚为8pin,支持正反连接,传输速率约为25mb~35mb/s。由于接口不同,因此在于安卓的数据恢复中有一定区别,主要体现在后续工作中才使用itunes通信协议。

步骤二:恢复设备通过libimobiledevice调用待恢复苹果手机信息,如果不能调用,则要求用户在待恢复苹果手机点击信任这台电脑;如果调用成功,则已完成数据恢复的准备工作;

所述方法中,使用itunesbackup协议访问,在ubuntu系统中首先手动编译准备环境。在准备环境安装好后加载liblist,苹果设备通信的标准协议中加载plist接口。其次是安装libusbmuxd。此时为了完成调用苹果手机的信息,如果不能调用,就手动点击信任此台电脑的窗口按钮。

步骤三:恢复设备通过libimobiledevice检索待恢复苹果手机的信息和已删除的通讯录及短信数据库文件;

所述方法中,所有步骤是在mac环境上进行的,因为需要用到xcode的编译环境。编译打包过程主要用到xcodebuild和xcrun这两个命令,xcodebuild是编译代码,xcrun是将app打成最终的ipa包。其中apppath是编译生成的源app路径,ipaoutpath是生成的ipa包的输出路径。${code_sign_identity}和mobileprovision分别对应证书和mobileprovision文件的路径,这两个参数不加则用默认工程配置文件中的证书需要注意的是,在执行xcrun的时候,需要进入到项目工程的build的目录下才行。

步骤四:通过libimobiledevice将待恢复手机上被检索到的通讯录及短信数据库文件拷贝到恢复设备上;

所述方法中,具体检索到数据拷贝主要是通过在mac环境中完成调试工具集成到恢复设备的过程。主要为在编译打包完成之后,有可能会因为打包过程中如证书签名等的一些问题,导致无法安装在设备上。因此,为了进行编译集成的自动化执行和验证,需要能够可以将安装包安装进设备的工具。libimobiledevice,这是可以让linux支持连接iphone/ipodtouch等ios设备,可以替代itunes,进行ios设备管理的工具。

4.1:首先是安装工具和相关环境,可以通过mac上的homebrew工具进行相关插件的安装。

4.2:将libimobiledevice工程下载下来,执行autogen.sh脚本,执行完毕后进行make和sudomakeinstall编译。

4.3:安装ideviceinstaller工具,用于给ios设备安装卸载应用或者备份应用。该工具是基于libmobiledevice的,因此首先要完成libmobiledevice的编译安装。

步骤五:恢复设备采用特定格式分析的方式对拷贝的通讯录及短信数据库文件进行恢复,通讯录及短信数据库文件正常恢复后,向用户展示恢复结果;

所述方法中,下载完工程后执行编译安装,步骤同libimobiledevice一致。在真机上进行ipa包的集成安装将真机连接在mac上,命令行输入idevice_id-l,该设备的udid,则完成相关配置。

步骤六:恢复设备返回恢复结果,用户确认后,通过恢复设备删除所有拷贝数据。

所述方法中,如果出现部分文件没有正常恢复的情况,则通过下载安装的方式集成app到移动设备,实际就是通过了itms-services协议来实现的,这种方式主要应用于ios企业应用的无线部署。

具体步骤如下:

5.1:配置plist文件plist文件中包含了ipa包的下载安装路径和app的配置信息,基本的设置如下其中需要注意的是,metadata里的bundle-identifier和bundle-version信息需要和所安装的ipa包的内容一致,不然可能导致无法安装成功。

5.2:配置下载链接。简单编写一个页面,可以通过这样的形式进行下载把以上内容加到一个html页面的href中即可,当打开plist文件时,移动设备就会下载ipa包并进行安装。需要注意的是,在ios7.1以上的版本中,这个url必须是以https协议的形式进行访问,否则将会提示因证书无效无法安装应用程序。也就是说,我们需要将plist文件放置在一个https的服务上来进行访问。

在通信录db(数据库)文件中释放的块中,按照特定格式搜索被删除的通信录信息分别独立搜索用户名和手机号,并记录每一项的_id,然后按照_id一致关系,将恢复的用户名和手机号对应起来。用联系人名正则表达式匹配联系人名称,未找到则返回。搜索手机号,用正则表达式匹配联系人号码,未找到则返回。在数组(字节数组)中匹配手机号,小于需要匹配的最小长度则中断,读取头部数组。判断mimetype_id与mimetypes表中读取的值是否一致,非法则continue。将未处理数据块转化为字符串,用于正则匹配号码(字节数组不支持正则表达式,支持查找字符串)。匹配到的号码,用于在总字节数组中定位查找。在数组中搜索提取到的号码,重新计算号码在数组中的偏移(由于字符串中如汉字等字符非一个字节表示一个字符长度,故需要在数组中重新定位计算偏移)。如果定位到手机号,但是当前号码的头部小于最小头部长度(在正则表达式中设置规则,最小长度为11个字符),则继续往后搜索。读取手机号之前icursize个bytes(数据库中定义的最小头部长度icursize),记录当前区块的起始位置,用于覆盖率计算。

短信内容及后续数据处理:

8.1:计算短信内容的起始偏移,并用中文文本编码规则utf8匹配短信文本,过滤噪音;

8.2:计算短信内容长度和实际读取到的短信内容长度并对比是否相符,若不相符,则认为短信内容被破坏,更新当前偏移指针;若相符,则定位紧跟在短信内容后面的并计算,得到检测号码;仅当短信内容没有被破坏时,才定位紧跟在短信内容后面的servicecenter,计算servicecenter,并提取作为收件人号码;

8.3:记录当前区块的结束位置,用于覆盖率计算,用于手动原始恢复(手动恢复);

8.4:获取已存在短信,并导出到日志文件;

8.5:暴力搜索短信数据库文件中的所有文本字符串;

8.6:若当前恢复出的文本如果不存在于已存在短信和已删除短信文本中,且至少包含两个中文字符,则视为合法短信文本,添加之。

打开数据库中保存的通讯录数据,读取里面的联系人信息并将读取的联系人信息存入已存在联系人信息列表中。分开先后遍历已存在联系人和标注已删除联系人,这样确保已存在联系人列表的完整性。确保对于判断已删除项目是否已存在结果的正确性。

所述方法中,恢复设备上内置了完整的通讯录及短信数据文件特征格式匹配方法,依次、完整地将拷贝的数据文件和特征格式进行匹配。若匹配成功,则开始恢复通讯录及短信数据库文件;若匹配不成功,则进行人工分析,恢复出来通讯录及短信数据库文件后,将新的特征格式加入恢复设备(相当于是在遇到“陌生”的特征格式时,人工进行添加,与之熟络,增加数据库容纳的“熟人”,方便下一次恢复),并将新的特征格式检测方法加入恢复设备中。

本发明方法在恢复数据时,恢复设备和待恢复苹果手机通过数据线构成一个封闭系统,数据恢复过程都在恢复设备上完成,不受待恢复苹果手机的存储空间、处理速度有限的限制,可以更快更准确进行,同时不会增加待恢复苹果手机的能量损耗,提高苹果手机的待机时间;恢复完成后,向用户展示恢复结果;用户确认完成后,恢复设备将彻底删除从苹果手机上拷贝的所有数据,保证用户的所有信息不会发生任何泄露。

本发明方法提供了一种针对苹果设备的非侵入的数据恢复方法,不会造成待恢复苹果手机发生任何变化,即系统中不会增加新的程序、设备的物理存储空间不会发生变化。恢复设备通过libimobiledevice将苹果手机的通讯录及短信数据库文件到恢复设备上进行数据解析,恢复和展示的工作,并在恢复完成后将从苹果手机拷贝的相关数据彻底删除,保证客户的信息不会出现泄漏。

通过以上实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可以借助软件增加必须的通用硬件平台的方式来实现。虽然通过实施例描述了本发明,本领域的技术人员知道,本发明有很多变形和变化而不能脱离本发明的精神,一样受本发明的权利要求保护。本发明未详细阐述的部分属于本领域公知技术,本领域技术人员根据已有的描述已能够在不付出创造性劳动的前提下进行实施,因此,不再赘述。

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