效率源数据恢复论坛

 找回密码
 免费注册

QQ登录

用新浪微博登录

快捷导航
查看: 1113|回复: 0
打印 上一主题 下一主题

小米手机备份文件数据提取研究

[复制链接]

646

主题

809

帖子

3587

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3587
跳转到指定楼层
楼主
发表于 2016-11-18 17:20:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
此文章来源于效率源科技(微信号:xiaolvyuantech)

      编者按:手机数据提取通常有三种方式:一是先ROOT∕越狱,再通过USB提取数据;二是先获取手机物理镜像∕刷包成功后获取手机物理镜像,再分析镜像数据;三是通过电脑端∕手机端进行手机数据备份,再解析备份。其中,利用手机端自身的备份功能进行备份,再将备份文件拷贝到电脑中进行数据提取,具有方便快捷、无需ROOT∕越狱等优势。本期,数据恢复四川省重点实验室科研人员将介绍如何利用手机端对小米手机进行备份?以及如何对备份文件进行数据提取?

一、背景介绍

      随着智能手机的不断普及,人们手机内的各种数据,包括通讯录、短信、通话记录、应用软件、游戏等越来越重要。为了防止误删除、刷机、恢复出厂设置等造成重要丢失数据,人们越来越多使用手机备份软件对手机里的重要数据进行备份,而这也为手机数据提取提供了新的思路。

      小米手机作为当前最流行的智能手机品牌之一,在中国市场占有率超过10℅。为了增强数据的安全性,小米针对自己系统开发出备份功能以保护用户数据。其中,手机里的联系人、通话记录、短信等重要信息一般都存储在内存卡或者SIM卡,如果用户利用小米备份工具备份了这些数据,我们就可以对备份文件进行数据提取,找到手机这些关键信息。


二、小米手机如何进行备份

      目前,小米2及以上版本均支持备份功能,可以备份出手机中任意应用的用户数据。但小米2的备份与小米3及以上版本都不同,下面将分别介绍它们如何进行备份。

1.小米2备份

①点击需要“备份”的app,如图1。

图1

      ②点击新建备份按钮。

      ③选择对应的备份内容,点击开始备份,如图2。
图2

      ④、备份完成后返回,会看到一个新增的数据文件,这就是刚备份的数据。


2.小米3及以上版本备份

      小米3及以上的版本与小米2备份方法有所不同,主要采取以下步骤:

      ①打开手机设置,找到“备份与重置”进入,如图3。
         
图3

      ②点击“本地备份”,备份时请勿关闭手机或重启,以免造成数据损坏,如图4。

图4

      ③备份完成后,会看到一个新增的数据文件,这就是刚才备份的数据。


三、如何从小米备份文件中提取数据

1.小米2备份文件提取数据

      在小米2的备份文件中,每个数据均采用标记值+长度值的方式来记录数据,但时间和状态没有长度值。

      ①通讯录提取

      使用7-Zip解压通讯录.bak,得到addressbook.store和descript.xml。用winhex打开addressbook.store,记录数据中不同的标记代表不同的含义,如图5。

图5
      其中
      0x12为记录开始标记
      0x32标记为序号
      0x18是状态标记(0x01是接收,0x02是发送)
      0x0A是姓名标记
      0x22为姓的标记
      0x12为名标记
      第二个0x0A是电话号码的标记
      这样可以依次分别解析出通讯录中的每个数据。

      ②通话记录提取

      使用7-Zip工具(可直接百度搜索)解压通话记录.bak,得到calllog.store和descript.xml。用winhex打开calllog.store,依次按照下面标记代表的含义做解析即可得到通话记录,如图6。

图6
      其中
      0x12为记录开始标记
      0x1A为拨打或接听号码标记
      0x20为拨打或接听时间的标记,默认长度为6 bytes
      0x28为时长标记,通常长度为1 bytes或者2 bytes
      0x30为状态标记(0x01是接听,0x02是拨打)
      0x38之后为其它标记

      ③短信提取

      使用7-Zip工具(可直接百度搜索)解压短信.bak,得到sms.store和descript.xml。用winhex打开sms.store,依次按照下面标记代表的含义做解析即可得到短信数据,如图7。

图7
      其中
      0x0A是表示一条短信开始标记
      0x00是表示一条短信结束标记,通常紧接着就是0A标记。
      0x12为序号标记
      0x32为短信内容标记
      0x22为号码标记
      0x18是状态标记(0x01是接收,0x02是发送)
      0x38是时间标记,默认长度为6 bytes
      剩下为其它标记
      备注:0A,12,32,22标记是标记值+长度值的结构,其他的均为标记值+实际值(此处的实际值多为1byte,部分会出现2bytes)。

2.小米3及以上版本备份文件数据提取

      小米3及以上版本与小米2在备份数据提取方法上有所不同,解压前需要做如下的处理:如图8所示,图中选中部分为小米自己添加的头,解压前需要先去掉,使它变成Android backup文件,之后再使用7-Zip进行解压。解压后,在目录中找到“_tmp_meta”文件,其它提取过程同小米2提取过程一样。

图8


小结

      利用手机里的备份文件进行数据提取,相比其他数据提取方式,可以更加快速地提取到关键信息,而手机本身也不用通过ROOT∕越狱获取最高权限。但是备份文件存储的信息通常是有限的,所以只能提取到部分信息。目前,该方法已成功应用于效率源SPF9139智能手机数据恢复取证系统中,在对未ROOT∕未越狱,或者无法ROOT∕无法越狱的手机数据提取中发挥了重要作用。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

Copyright(C)2015-2016 四川效率源信息安全技术股份有限公司 版权所有|蜀ICP备09015844号|效率源数据恢复论坛  

GMT+8, 2024-11-24 03:46 , Processed in 0.229144 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2014 技术支持: Weixiaoduo.com

快速回复 返回顶部 返回列表