本文主要详细图文讲述安卓直接镜像到电脑的方法; 目前安卓手机镜像数据恢复是一个困扰大家的难题,尤其是没有SD卡的手机数据恢复,更是不好做.
之前我做过一个三星W2013的手机,它的data和sdcard是一个分区(ext4)上不同的目录.那时我想都没想,直接dd if=/dev/block/mmcblkxpx of=/sdcard/data.img进行数据恢复,后来傻眼了,做镜像时data区的已经使用空间也在增长.数据被覆盖了!!!后来从客户的备份中找到了手机的联系人.虚惊一场.
现在给大家介绍一种方法,可以直接把手机的内存储镜像到电脑保存到任何一个分区中.
在给大家介绍这个方法之前看一下我们的准备工作: 1.手机要有ROOT权限. 2.手机要开启调试模式. 3.手机要有与外界相互沟通的管道. 4.要知道DATA区的挂载点. 5.要知道相应的镜像命令(dd) 6.电脑端要有相应的工具(nc.exe pv.exe cygwin1.dll以及必备的adb.exe AdbWinApi.dll AdbWinUsbApi.dll )我的这些工具都是放在C:\ADBshell\adbhelp目录下了.
我们做手机内存储的目的是做数据恢复,因些我们有一个先提条件:手机的DATA分区确保不要写入任何数据 1.ROOT的说明 有关ROOT的方法我这里就不多说了.网上的方法很多.大家选取吧. 对于某些手机比如说HTC,某些索爱手机,如果想ROOT,要先解锁,不解的话是不能取得ROOT的.
一般的ROOT有三个方法, -- 专门针对某一个类型手机出的ROOT工具.: -- 电脑端的一键ROOT工具 -- 手机端的ROOT工具.
我还有第四种方法,这种方法可以做到部分手机在关机的情况下取得ROOT,进而取得镜像.这是最完善的ROOT取得的方法.
对于找不到某一类型的ROOT工具,我推荐用:电脑端的360一键ROOT,我测试过,用这个软件ROOT的时候,DATA区写入的数据量最少(不到1MB). 万一电脑端的ROOT工具都不能ROOT这个手机,就采用手机端的ROOT工具.能ROOT总比什么也做不了强吧.
2.调试模式的说明 这个不用多说了.打开就行了.至于手机如何开启调试模式,大家baidu一下相关的知识吧.这里就不多说了.
3.与外界管道的说明 这个要用大名鼎鼎的nc工具.关于这个工具的说明大家从网上找找就行了.记得很久以前用这个工具做后门用的.不过我已经不做黑客好多年了.
准备工作做好后,现在开始镜像工作. 手机连上电脑,
图1 手机和电脑连接完好
这说明手机和电脑连接完好,如果是安卓平板,也是类似的.如果出现不了(Android Phone)这个设备,需要从网上下载相应的手机驱动. 注意:下载手机驱动的时候千万不要用第三方手机管理软件.像QQ手机管家,91助手,豌豆夹等.这些软件会往手机上安装相对应的软件.这是数据恢复中的大忌讳. 一定要从网上下载直接的驱动.或者让win7系统自己搜索相应的驱动.XP的同学们,赶快升级到win7啦.下一步:打开cmd进入adb.exe所在的目录.图2 输入命令看连接的手机
输入相应的命令,大家看,这里出现了一个(ZTE-N881F)手机.为了大家恢复方便,最好在电脑上只连接这个需要恢复的手机,否则会出现好多麻烦事. 输入这个命令的目的是看看要恢复的手机是否已经和电脑连接上了.如果手机的驱动安装上了,输入这个命令以后,发现不了连接到电脑上的手机,就要升级一下你的adb.exe用最新版本的工具.如果使用了最新版本的adb.exe仍然发现不了你的手机.这就需要另外处理.可以试试换电脑.如果换了电脑,还不行.那就参加我专业的培训吧O(∩_∩)O哈哈~. 下一步是判断手机有没有nc这个管道工具. 命令输入如下:图3 判断手机上是否有管道工具
如果下一行能出现BusyBox v1.2.0.2 xxxxx(2012-xx-xx xx:xx)这样的字眼,说明手机上是安装了busybox这个工具的.我们要用的是busybox的nc子命令. 如果提示busybox没有安装,我们要把busybox安装到手机上. 注意:安装busybox这个工具也是有技巧的.我们还是一个原则,绝对不能在DATA分区写入任何数据.网上的教程都是在手机上安装apk的软件.这样做以后手机在DATA区会被覆盖一些区域.对于手机取证,这是不可取的. 下一篇文章我会告诉大家如果手机上没有busybox这个软件,如何绕过DATA区把busybox安装到手机上. 现在工具都具备了.
4.取得手机DATA区的挂载点 这个我们用mount 命令就可以了.
图4 取得DATA分区的挂载点
我们知道DATA分区挂载的分区是/dev/block/mmcblk0p13.当然这个案例还是比较简单的运行mount命令后直接给出了我们挂载点.对于某些没有直接给出我们挂载点的手机,我们还得通过别的方法取得data分区的挂载点.这个挂载点一般都是/dev/block/mmcblkxPx
5.镜像命令 一般对于高端手机我们采用dd进行手机内存储镜像.对于低端手机用dd命令会出错.我们只能用cat命令进行镜像. dd 命令的格式网上一大堆的.使用这个命令的时候要注意if后面的是源地址,也就是data分区的挂载点.of后面是目标地址.现在我们开始镜像: 先设置一下adb的端口映射.
图5 打开tcp的52330端口.当然你也可以换成你自己的端口
下面进入手机的shell.图6 进入手机的shell
大家要注意区分,进入手机的shell后所有输入的命令都是在手机上命令.换句话说,目前手机就相当于我们的肉鸡.
目前我的这个手机经过的特殊的处理,进入shell后直接取的ROOT权限.对于出现$的手机还需要输入另一个命令su (不需要输入ROOT密码),这样才能使用手机的ROOT权限.
输入su的时候大家注意观察一下手机有没有需要授权的(有的手机需要我们对shell进行授权,有的不需要).如是手机上弹出需要授权,允许就行了.下一步,输入镜像命令:
图7 输入镜像命令
这个命令的意思是:利用nc这个小工具在手机上打开一个52330端口(-l -p 52330),如果有程序连接这个端口,就执行-e后面的命令.dd命令就是做data的镜像. nc它的主要功能是把网络一端的输入数据传送到另一端来输出. 命令结束以后下面有一个一闪一闪的白块. 这时手机端的命令就算完工了. 下面再开一个cmd,用nc这个工具来连接52330端口,并把数据存到F:\330wang目录下图8 电脑端的nc命令
大家注意一下.现在用电脑端的nc.exe来连接刚才的52330端口.因为我们一开始设置的端口映射,我们用nc.exe可以直接连接就行了.图9 镜像过程
这时直接用USB线就可以镜像data分区到电脑的F盘了. 给大家说一下pv.exe这个命令.它是显示传输的数据量和当前速度的一个小工具. -i 1是每一秒种显示一次数据. -i 0.5 是每0.5秒显示一次数据. 记得后面加一个空格. 当然,如果嫌麻烦,也可以直接在CMD中输入 nc 127.0.0.1 52330 > f:\330wang\data.img 这也是可以的. 镜像的操作工作完毕.剩下的就是等镜像结束.镜像的速度和手机有关系.图10 镜像完工后手机端显示
图11 镜像完工后电脑端显示
下面就拿数据恢复软件打开F盘330wang目录下的data.img进行扫描吧.只要能支持ext4的就行,比方说winhex r-studio UFS等.