有准备在三星手机上做数据恢复的朋友,建议先直接拉到最下面看下友情提示!千万不要随便刷机……
过去我曾简单说过安卓手机的数据恢复,当时因为朋友的三星N7102手机丢失后找回来被捡到者清空了数据,再加上手机本身只有MTP模式,一般的PC端数据恢复工具不能直接使用,所以当时使用了一些安卓上的数据恢复软件,从效果上看,这类软件普遍需要ROOT权限,而且兼容性也经常存在问题,最主要是经常性遇到无法连接到手机的问题,所以这类软件使用的范围都非常有限,安卓手机数据恢复难度依然很大。
因为业务关系,也经常接触各类商业版手机数据提取和恢复工具,可以说也都存在各种问题,有的操作繁琐,有的效果不行,但这类商业软件都提供了一个思路,就是将整个手机存储做镜像备份,在有其他技术条件时做进一步恢复。可以说这个思路应该是正确的。
前段时间在Freebuf上看到一个安卓数据恢复的文章,也是主要以备份镜像后提取文件的方式进行,可以说这应该是目前安卓设备上最靠谱的恢复方式了。整个操作并不算复杂,但前提是手机必须还可以正常操作,必须要在手机内安装Busybox,而且需要ROOT。如果手机已经不具备开机的条件了,那就不能使用这个办法。
我这里引用一下Freebuf文章的操作方法:
第一步,对手机进行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部分进行扫描,扫描后即可找到被误删除的各类数据。
那么如此操作后,就可以恢复手机中丢失的数据了。虽然操作步骤略多,但这是目前我看到恢复效果最好的方法。我在我的TCL-P318L上进行测试。朋友们应该知道,我前几天刚对这个手机整体刷机了,手机上真的是空空如也,并且刷机这种方式是覆盖写入,会对恢复造成很多麻烦。
我在我的P318L上开始尝试恢复。
用时47分钟,提取到一个7GB的镜像文件。
再用R-Studio读取镜像并扫描,发现可恢复的文件了。
我尝试将JPEG镜像和JPEG数字相机两个分类进行恢复。很快文件重建天日!!
然而这里也会遇到过去在PC端做数据恢复的一般性问题,就是文件覆盖导致的恢复失败问题。
不过在大部分数据能被恢复的情况下,这种问题已经可以忽略了。除非你运气不好,偏偏是最需要的那个文件失效了。。
经过这次测试,发现这种方式不仅能很好的进行数据恢复,而且可以在手机重新刷机的条件下恢复原来的数据,而且MTP模式对这种恢复毫不影响,可以说只要能ROOT,基本上就不存在问题了!
最后,就是把用到的几个小工具放到结尾,方便其他需要用的朋友使用。
R-Studio8.0:http://www.xp510.com/xiazai/ossoft/DataRecovery/23460.html
Cywing:https://www.cygwin.com/
nc.exe和pv.exe打包:http://pan.baidu.com/s/1nvGml2x
adb工具包:http://pan.baidu.com/s/1o7T1fnk
手机软件Busybox和ROOT我这里不放了,手机上很容易找。那么最后,就是预祝大家成功了!
我测试了两个手机,一个三星GT-S5660,Android2.3,1GB ROM 256RAM,非常老的机型,除了Busybox安装过程稍微出了点问题,安装好Busybox后,也可以顺利数据恢复。
可以看到只提取到一个1GB的镜像。而且内部文件格式不是后期系统的Linux系统常用的EXT2分区,而是FAT分区。。。
总之这种方法的广谱性还是不错的。
20161105 UPDATE
当然这种方法也一定会有出问题的时候。那就是面对已经全盘复写的手机,只能GG了。
昨天受同事委托,拿到一个三星NOTE2,因为淘汰的年代有点久,原来的使用者完全忘记了解锁密码,看着锁屏界面解不开的确郁闷,而且手机没有开启USB调试,换句话说,没有开后门,所以手机不能使用了。关键是手机里的照片,就完全不能导出来了。百度了半天,没有找到太好的解决方法,毕竟没有开USB调试,只得刷机,不像有的国产手机,还可以通过一定的手段强制开USB调试,给后门留了后门。相信很多人看到了思路,就是刷机,大不了再来恢复。然鹅,美好的设想遇到惨烈的现实……
三星NOTE2刷机后,我发现ROOT和安装这些准备工具都很OK,并没有问题,镜像文件也顺利导出。但就是扫描不到原来的JPG文件……这就很尴尬了。说明NOTE2在刷机过程中,不仅重新分区了,而且覆盖数据了……
那么至此,可以说整个数据恢复算是遭遇彻底失败了。在此,我也是提醒那些准备做数据恢复的朋友,千万引以为戒,不是所有手机刷机后都还可以恢复数据哦……
评论列表:
对镜像中的userdata部分进行扫描,扫描后即可找到被误删除的各类数据。”
这部分找不到对应的操作选项,不知如何是好。。