很多人覺得數據恢復就是拿工具掃一掃,這種想法是非常錯誤的。想幹好一件事,絕不是僅僅機械性的重複固有動作,必須要加入個人的思考。比如對安卓手機的數據恢復,你真的會嗎?
為了避免這類人(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卡,因此手機原數據存在被新恢復數據覆蓋的風險。
當然,這些缺點可能與這款軟體的定位是隱私粉碎而非隱私恢復相關,這些缺點在很多同類軟體上也同樣存在,特別是數據恢復能力方面很多軟體在這方面功能實在是過於孱弱,第三種方法由於存在諸多弊端同樣不能讓人滿意。
正確恢復安卓手機數據的姿勢
那麼到底有沒有效果更加理想的數據恢復方法,答案是肯定的。其實以上方法中最大的問題在於,這類軟體要麼根本不能用,要麼恢復能力太弱。如果能藉助傳統的數據恢復工具的強大算法,那麼這類問題自然迎刃而解。下面介紹一種解決方案,能夠在很大程度上解決以上方法中的瓶頸。
本文中以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對鏡像進行各種後期處理,不僅增加了步驟的繁瑣程度,可能還會起到誤導作用。
更多的思考本文的核心在於對安卓手機鏡像的提取,提取出鏡像後能做的東西還有很多,比如通過分析wpa_supplicant.conf能夠得出某人常去的地方等等。
通過本文可以看出,如果淘汰的手機只是簡單刪除某些敏感文件後就直接交給一些第三方回收機構會存在多麼大的風險,網上那麼多小視頻你覺得是怎麼流出來的。如果缺乏對手機信息安全的基本保護意識,那就要承擔可能面臨的後果,有些後果可能會嚴重到付出高昂的代價。
1992年大年三十晚上,一家人包好了2蓋簾餃子放在那裡,凌晨5時左右,起床準備煮餃子,發現2蓋簾餃子全沒有了,僅剩下2個空空的蓋簾。屋裡沒有任何凌亂的跡象,並且門窗緊閉,一家人沒敢聲張,默默地和面、調餡兒重新包了餃子。請問餃子去哪裡了?(答案分析請回覆:jz)
回覆:微信群,可加微信群交流。
QQ群:16004488