之前在centos中分析了/dev/sda1下的結(jié)構(gòu),但當(dāng)對象是一塊以芯片直讀方式作出來的全盤鏡像呢?
這次以安卓手機的全盤鏡像為對象,嘗試按照ext4文件系統(tǒng)結(jié)構(gòu)手動解析,加強對ext4文件系統(tǒng)、EFI系統(tǒng)分區(qū)、GPT磁盤的理解,補充ext4文件系統(tǒng)的日志結(jié)構(gòu)的描述。
我得到的全盤鏡像有兩種格式,一種.img,一種是.bin,兩種鏡像的組織方式是比較類似的,但可能因為是不同的直讀機做出的原因,.img格式的鏡像在“真正的數(shù)據(jù)”前附加了機器的標(biāo)志信息。
.bin格式鏡像分析
.bin格式全盤鏡像是以GPT分區(qū)的方式進行管理的,GPT磁盤的總體布局如下:
.bin格式的全盤鏡像頭512個字節(jié)也就是0號扇區(qū)的內(nèi)容是一個DOS分區(qū),分區(qū)表的內(nèi)容如下:
該分區(qū)表只有一個表項被使用,記錄的分區(qū)起始扇區(qū)號是0x01,分區(qū)扇區(qū)數(shù)是:0xDA BF FF,0號扇區(qū)最后兩個字節(jié)就是MBR扇區(qū)的有效標(biāo)志0x55 AA。當(dāng)然在dos分區(qū)表前面還有446個字節(jié)的引導(dǎo)代碼區(qū)域,這里的引導(dǎo)代碼沒有寫,就沒有截圖了。