专栏首页FreeBuf如何正确的对安卓手机进行数据恢复?

如何正确的对安卓手机进行数据恢复?

很多人觉得数据恢复就是拿工具扫一扫,这种想法是非常错误的。想干好一件事,绝不是仅仅机械性的重复固有动作,必须要加入个人的思考。比如对安卓手机的数据恢复,你真的会吗?

0x00 背景介绍

很多人都有在使用手机时误删数据的经历,比方说和女朋友分手后把之前一起玩耍的影像资料删除了,结果没过几天又复合了,某天女朋友想和你一起回忆某个温馨时刻,这时候拿不出照片或视频来会非常尴尬。

为了避免这类人(Xi)间(Wen)惨(Le)剧(Jian)发生,很有必要掌握一下数据恢复技术。

传统的数据恢复往往借助软件即可完成,例如Easy Recovery,Recuva之类。

但这类软件对新的安卓系统手机往往无能为力了,因为从几年前开始,大部分手机生产厂商用“媒体设备”MTP模式替代了大容量USB存储模式,而传统数据恢复软件无法直接对MTP模式加载的手机存储空间进行数据恢复,如图所示。

因此有必要研究适合于目前安卓系统手机的数据恢复方法,本文中主要讨论手机内部存储空间的数据恢复,对于手机TF卡的数据恢复采用传统手段即可完成,本文不再讨论。

目前手机数据恢复的常见方法有三种:

第一种方法:

物理拆解芯片进行数据恢复。通过拆解并取出存储芯片后,借助硬件工具读取芯片的数据后进行数据恢复。这种方法的优点在于不会对存储芯片写入新的数据,能够较好的保护数据的原始状态。缺点也显而易见,这种方法对工具和动手能力要求较高,稍有不慎手机和芯片都有报废风险,普通用户较难独立完成这类操作。

第二种方法:

借助安装在PC端的第三方工具进行数据恢复。目前网络上名气较大的安卓数据恢复工具主要有Wondershare Dr.Fone,Tenorshare-android-data-recovery,7-Data Recovery Suite等软件。 但这类软件普遍存在的问题是,常常无法与手机建立连接,或者在连接后扫描时提示失败,可能是由于安卓系列手机系统定制化程度较高,每家手机制造商都对安卓系统做了或多或少修改的缘故,导致实际效果并不理想,相信很多朋友在用这类软件时也遇到了类似的问题。

第三种方法:

借助安装在手机上的安卓APP进行数据恢复。由于APP直接运行在手机上,因此不存在第二种方法中软件与手机连接失败的问题,这类软件恢复的效果好坏很大程度上取决于软件开发人员使用的数据恢复算法能力的优劣。这类软件有很多,以某数字清理大师为例,某数字清理大师的隐私粉碎功能能够扫描到用户之前删除的部分类型文件,并确实能够对这类文件进行恢复。 但其缺点也有很多,主要有四点:一是能够恢复的文件类型有限,主要是针对照片、短信、通话记录等;二是照片时只能一张一张点开恢复,无法批量恢复,操作繁琐;三是数据恢复算法不够强,与传统数据恢复工具如R-Studio和EasyRecovery相比存在不小差距;四是数据只能恢复到手机内部存储空间中,无法选择恢复到SD卡,因此手机原数据存在被新恢复数据覆盖的风险。 当然,这些缺点可能与这款软件的定位是隐私粉碎而非隐私恢复相关,这些缺点在很多同类软件上也同样存在,特别是数据恢复能力方面很多软件在这方面功能实在是过于孱弱,第三种方法由于存在诸多弊端同样不能让人满意。

0x01 正确恢复安卓手机数据的姿势

那么到底有没有效果更加理想的数据恢复方法,答案是肯定的。其实以上方法中最大的问题在于,这类软件要么根本不能用,要么恢复能力太弱。如果能借助传统的数据恢复工具的强大算法,那么这类问题自然迎刃而解。下面介绍一种解决方案,能够在很大程度上解决以上方法中的瓶颈。

本文中以Nubia Z9 Max NX510J为例进行说明,步骤比较详细以便尽可能照顾不同水平的读者。

第一步,对手机进行Root,Root前需要进入开发者模式并打开USB调试模式。这是最基本的要求,具体如何Root与手机的型号有关,如果实在不会就找身边的异性IT达人帮忙吧。

第二步,在手机中安装BusyBox。建议从Google官方下载,文章中用到的工具会在结尾处提供,懒人自取。BusyBox安装时可选择路径,假设安装在[/system/bin/busybox]。

第三步,将手机与电脑连接。连接后需要安装相应驱动,可借助豌豆荚等工具进行安装。另外需要准备好adb调试工具(adb.exe等文件),可从Android SDK官网下载,Root工具包中一般也会提供。

第四步,电脑中安装32位版本的Cygwin[C:\cygwin],并下载nc.exe和pv.exe,将这两个文件和之前准备好的adb.exe,AdbWinUsbApi.dll,AdbWinUsbApi.dll复制到[C:\cygwin\bin\]目录下。

第五步,运行[C:\cygwin\Cygwin.bat],依次输入下图中的命令,输入后窗口保持打开不要关闭:

adb forward tcp:5555 tcp:5555 adb shell su /system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0

第六步,再运行一次[C:\cygwin\Cygwin.bat]打开另一个窗口,依次输入如下命令:

adb forward tcp:5555 tcp:5555 cd / nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.raw

这时窗口上应该会出现如图所示的进度

耐心等待完成后,[C:\cygwin]目录下会出现mmcblk0.raw文件,文件大小等于手机内部存储空间的大小,该文件正是手机内部存储空间的镜像文件。

第七步,打开一款传统的数据恢复工具,由于raw文件是linux文件系统格式,因此需要支持这类系统的软件,经过实际使用测试发现,R-Studio和Easy Recovery均能较好识别这类文件格式,笔者更偏爱R-Studio,因此以这款软件为例。

加载刚刚生成的mmcblk0.raw镜像,如图所示。

对镜像中的userdata部分进行扫描,扫描后即可找到被误删除的各类数据,女朋友终于保住了:)

使用这种方法,可以充分利用现有成熟数据恢复软件的恢复技术,大大提高安卓手机数据恢复的成功率。实际测试发现,通过这种方法找回的照片,数量上远远超过市面上各类手机数据恢复软件恢复的照片。

国外已经有人写过类似教程,但可能由于对数据恢复软件不够熟悉,在提取镜像后又做了很多画蛇添足的处理,比如利用VhdTool.exe对镜像进行各种后期处理,不仅增加了步骤的繁琐程度,可能还会起到误导作用。

0x02 更多的思考

本文的核心在于对安卓手机镜像的提取,提取出镜像后能做的东西还有很多,比如通过分析wpa_supplicant.conf能够得出某人常去的地方等等。

通过本文可以看出,如果淘汰的手机只是简单删除某些敏感文件后就直接交给一些第三方回收机构会存在多么大的风险,网上那么多小视频你觉得是怎么流出来的。如果缺乏对手机信息安全的基本保护意识,那就要承担可能面临的后果,有些后果可能会严重到付出高昂的代价。

文章中用的工具 请通过点击阅读原文下载

* 作者:叶大人,本文属FreeBuf原创奖励计划文章,未经许可禁止转载

本文分享自微信公众号 - FreeBuf(freebuf),作者:叶大人

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-01-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 恶意软件Cutlet Maker死灰复燃,可轻易破解ATM

    现在,黑掉一台 ATM 机越来越简单了。通常,黑客需要寻找 ATM 机中硬件和软件的漏洞才能黑掉 ATM,才能让 ATM 机疯狂吐钱,但现在不一样了,任何人都可...

    FB客服
  • 2018年上半年全球数据泄露事件严重程度指数一览

    近日,金雅拓(Gemalto)发布了全球范围内公共数据泄露事件严重程度指数,共涵盖945次事件,导致45亿条信息泄露。

    FB客服
  • 揭秘银行木马Chthonic:网银大盗ZeuS的最新变种

    说到Zeus/Zbot,做安全多多少少都会有所了解。Zeus是对金融系统威胁最大的僵尸网络之一,控制者借助僵尸程序窃取账户登录信息和信用卡号码。Zbot往往通过...

    FB客服
  • SAN LUN Mapping出错,文件系统共享冲突;服务器数据恢复成功

    本次数据恢复服务器为SUN 光纤存储系统,中心存储为6枚300G硬盘组成的RAID6,划分为若干LUN,MAP到不同业务的服务器上,服务器上运行SUN SOLA...

    北亚数据恢复中心
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪

    在使用Dubbo进行服务化或者整合应用后,假设某个服务后台日志显示有异常,这个服务又被多个应用调用的情况下,我们通常很难判断是哪个应用调用的,问题的起因是什么,...

    搜云库技术团队
  • 系统通知,居然有人使用拉取?

    广义系统通知,有1对1的通知,以及一对多的通知,有相对实时的业务通知,以及能够容忍一定延时的系统通知。结合具体的场景来看下,这样的一些系统通知,究竟是推还是拉?

    架构师之路
  • Oracle-函数大全

    用户1112962
  • .NET/ASP.NET MVC Controller 控制器(深入解析控制器运行原理)

    阅读目录: 1.开篇介绍 2.ASP.NETMVC Controller 控制器的入口(Controller的执行流程) 3.ASP.NETMVC Contro...

    王清培
  • 开源程序的网站漏洞检测对获取管理员密码漏洞如何修复

    PbootCMS是网站常用的一款CMS系统,是由国内著名程序开发商翔云科技研发的一套网站CMS系统,免费开源,扩展性较高,使用的企业很多但是避免不了网站存在漏洞...

    技术分享达人
  • 飞龙的程序员书单 - 组原、OS、网络

    简单介绍一下,这本书包括组成原理和操作系统两大部分知识。第二、三章学完之后,逆向就算是入门了。国内的教材很少有拿汇编和C语言对比教学的书籍,这样的教学方法很实用...

    ApacheCN_飞龙

扫码关注云+社区

领取腾讯云代金券