作者:admin 日期:2023-09-12 瀏覽: 次
安卓手機被刪除的照片,零成本,你就是恢復(fù)大師
聊到手機數(shù)據(jù)恢復(fù),對于小編來說這個詞匯早在2016年年末的時候就已經(jīng)被淡化了,而早在2012年-2015年這段時間,安卓手機的數(shù)據(jù)恢復(fù),用行內(nèi)的話來說那簡直就是在撿錢吶,為什么這么說呢?大致要分如下幾點:
一.機身內(nèi)部容量大,手機用戶存儲有價值的數(shù)據(jù)多
早期安卓系統(tǒng)基本上都是安卓2.x和4.x ,由于安卓系統(tǒng)處在飛速發(fā)展時期,手機硬件配置在逐漸加強,攝像頭分辨率在極速的增長,所以用手機拍攝的照片也越來越大,但是,安卓手機的機身內(nèi)部存儲容量已經(jīng)能夠大大滿足人們對于日常手機存儲的需求,大量個人數(shù)據(jù)被保存在手機內(nèi)部而不會輕易的被整理和轉(zhuǎn)存(要知道,在安卓系統(tǒng)發(fā)展初期和安卓系統(tǒng)出現(xiàn)之前,手機內(nèi)部存儲基本上都是512M以下的容量,根本存不下大量數(shù)據(jù)。)
二. 安卓app使用頻率高,存儲在機身的數(shù)據(jù)量大
QQ;微信等社交app隨著手機性能的增強,其拓展功能又進一步加強,手機app易用性,方便程度要遠遠超過其他的通訊方式甚至超過了PC端的軟件通訊方式。所以,一部手機就干掉了手表;電視;電話;短信;相機;攝像機;MP3;MP4;鬧鐘;記事本;游戲機;甚至家用電腦,大量的app產(chǎn)生的數(shù)據(jù)被存儲在手機內(nèi)部,由此大量的用戶基礎(chǔ)就會造就需求。
三. 產(chǎn)業(yè)鏈的形成導(dǎo)致研究安卓的團隊和個人比較多
安卓系統(tǒng)產(chǎn)業(yè)鏈的高速形成,灰黑產(chǎn)和安卓高端玩家的介入,使得安卓手機獲取ROOT權(quán)限極其的方便,有很多像kingroot,360ROOT,ROOT大師,刷機精靈等擁有對安卓系統(tǒng)一鍵ROOT功能的軟件被大家所廣泛利用。要知道能被root的安卓就能輕易獲取到整個機身數(shù)據(jù)鏡像,所有的用戶數(shù)據(jù)包括刪除痕跡也都存儲在里面,這是數(shù)據(jù)能夠被恢復(fù)的有利條件之一。
四.用戶數(shù)據(jù)的隱私并未引起高度重視
當時安卓手機的發(fā)展迅猛速度已經(jīng)遠遠超過了人們的意識,當時人們還在追逐安卓系統(tǒng)的可操作性,運行速度,app兼容性,大容量存儲等等,用戶數(shù)據(jù)安全很少被重視,用戶區(qū)數(shù)據(jù)并沒有被廣泛的加密(沒有什么問題是通過chip off解決不了的,因為數(shù)據(jù)以明文存儲,不加密,要知道現(xiàn)在被加密的用戶區(qū)數(shù)據(jù)要想被搞出來是多么的困難)。
五.安卓系統(tǒng)并未引入清零機制
安卓引入的emmc存儲在當時來說僅僅作為存儲使用,因為其容量大,價格便宜,內(nèi)置控制器方便手機電路設(shè)計,所以被廣泛的使用,安卓系統(tǒng)也源于linux,但是linux卻沒有針移動存儲做更詳盡的優(yōu)化。(我們知道emmc存儲屬于閃存存儲,是利用電子表達數(shù)據(jù),數(shù)據(jù)被寫入物理地址是由電子的位置表達二進制0和1,如果當前電子位是00000000;那么當要寫入數(shù)據(jù)11111111的時候,只需要將每一位進行一次改變,就達到了目的變成11111111,但是如果現(xiàn)有數(shù)據(jù)是01010101,想要寫入11111111的話,就要先對01010101進行置零操作也就是先要把01010101變成00000000;然后再從00000000變成11111111,這個過程的產(chǎn)生是緣由閃存存儲原理決定的,所以呢,安卓系統(tǒng)在對emmc存儲的數(shù)據(jù)進行改變的時候,是要分兩步進行的,第一步置0,然后第二步寫入,如果有大量的數(shù)據(jù)進行讀寫操作的時候,就會降低emmc存儲的讀寫效率,所以現(xiàn)在新機器配合安卓5.0以后的系統(tǒng)版本在手機沒大規(guī)模進行讀寫的空余時間里,會對已經(jīng)刪除的區(qū)域做填0操作,為的是在以后進行寫操作前無需進行置0,這樣系統(tǒng)讀寫速度就會加快。由三星主導(dǎo)的emmc規(guī)范協(xié)議里,就添加了erase指令,清零再也無需安卓系統(tǒng)進行干預(yù),系統(tǒng)只要給emmc存儲指令,規(guī)定讓它對哪些地址塊進行清零即可,emmc存儲器會馬上執(zhí)行,對系統(tǒng)速度一點影響都沒有,我們曾經(jīng)做過一個實驗:三星emmc 32G存滿數(shù)據(jù),放到景天UP編程器進行清零,點擊清空功能后立馬斷電,整個過程不到1秒鐘,然后再把這32G emmc通過只讀設(shè)備進行鏡像,32G的鏡像查看底層全部為0,由此可見,硬件級別的清零速度是多么的恐怖,遠遠超過其IO接口的速度。這就是為啥現(xiàn)在新機器想要恢復(fù)照片視頻那么困難的原因,刪除就是沒有了,不存在了。但是在這個機制沒有啟用前,刪除數(shù)據(jù)是不會被清零的,也就是還存儲于機身內(nèi)部,小編深刻懷念小米2S那個時代,恢復(fù)出廠的機器的數(shù)據(jù)都能搞的出來。)
東臺數(shù)據(jù)恢復(fù)上面扯了半天,結(jié)論就是:以前能恢復(fù),現(xiàn)在恢復(fù)不了!那下面回歸正題,正如上面所說,這些條件被手機廠商逐一限制,達不到數(shù)據(jù)恢復(fù)的前提條件,那也只能嘗試曲線救國了。
我們以照片為例(注意是照片,也就是用手機相機拍攝并存儲的照片),正常情況下被刪除的手機照片在新款的安卓手機上已經(jīng)清的一塌糊涂,是不可能能夠恢復(fù)出來的,但是,有一個情況就是,往往拍攝完的照片都會被機主自戀的欣賞一下,大家有沒有注意到兩點:1.照片被打開的時候會有一個圖像由模糊變清晰的一個過程,2.在相冊里,沒有被你打開的圖片你也能夠看到圖像內(nèi)容,只不過會很小。
這里就要簡述一下一些圖片展示功能的一些算法(小編闡述以方便理解為主,不涉及底層復(fù)雜的原理,因為小編也是二把刀):手機相機拍出來的照片分辨率較高,照片從加載到app,解析,展示會有一個過程,如果等完全解析完顯示在屏幕上,那肯定會有一個短暫的時間形成卡頓(因為此時已經(jīng)點擊屏幕打開,但是照片還在解析中,尤其是CPU負荷比較大或者手機性能比較低的時候),為了避免上述情況,圖片在第一次被正常打開后就會根據(jù)一定的算法生成一份分辨率相對比較低的緩存圖片,再次打開這張圖片的時候,app會首先加載這份分辨率相對比較低的圖片填充屏幕,然后等原始圖片被正常解析迅速替換已經(jīng)顯示的圖片,給人以過度的感覺,而不是卡頓(微信接受的圖片也是利用的這個算法,沒有被手動下載查看的圖片一定是原始圖片的一個低分辨率緩存。)而且,最重要的是,安卓的照片緩存是不隨著原始圖片的清除而清除的,這也就是咱們今天討論的核心問題。
而我們看到的相冊里的四方格的圖片也是一種緩存的顯示:
上圖這樣很小的緩存圖片實際意義并不是很大,因為分辨率太低了,只有那些分辨率相對比較高的緩存才會有一定的意義,所以我們要在文件系統(tǒng)中尋找緩存文件:
棲霞數(shù)據(jù)恢復(fù)
我們把imgcache.0提取出來,這個文件就是手機照片的緩存,只要在相冊里查看過的照片都會在這個文件里留下痕跡,沒有被一些垃圾清零app清理過的安卓手機,這個文件會一直變大,最大50M,如果超過50M那么就會生成新的緩存文件:imgcache.1并且隨著緩存的越來越多,文件數(shù)量也會遞增。用winhex查看下:
我們從上圖winhex的顯示結(jié)果當中看到了JFIF,典型的圖片類型標識,然后根據(jù)圖片的頭文件標記FFD8開始向下搜索結(jié)束標記FFD9:
將FFD8開頭FFD9結(jié)尾這段提取出來保存成文件,繼續(xù)查找下一組FFD8-FFD9;保存出來的文件可用圖片查看器打開查看。當然,這里僅僅是安卓緩存數(shù)據(jù)的一部分,還有很多位置存儲著各種場景下所產(chǎn)生的“緩存垃圾”,但是正是這些緩存,給我們的司法工作提供了一個又一個的關(guān)鍵線索。
當然如果您覺得一個一個提取太麻煩的話可以嘗試用Rx-analyze3000進行一鍵提取,給您的工作增加效率: