以晶片直讀方式得到的Android全盤鏡像解析——DOS分區

來源:互聯網
上載者:User

標籤:相對   是什麼   class   大小   span   直接   linu   關注   恢複   

  最近得到了一個依舊用晶片直讀方式得到的Android全盤鏡像,這次是一個紅米手機的鏡像,和之前的鏡像不同,這次的分區類型的DOS分區,這裡說明一下,算是對之前那篇記錄的補充。

  首先要糾正一下我的一個錯誤觀點:認為DOS分區只和windows OS有關,和linux OS沒有關係。正確的認知應該是:DOS分區是不分什麼OS的,他和GPT分區相似,都是用來管理作業系統中各個檔案系統分區的,而這些檔案系統可以是windows的fat系列、NTFS,也可以是linux的extx系列。

  DOS分區和GPT分區類比:       1)GPT分區中的EFI相當於x86的BIOS;

                 2)GPT分區表相當於DOS分區的MBR;

  下面來詳細說明一下DOS分區的格式:

  1、MBR

  我拿到的這個鏡像,最開始是一個MBR扇區,MBR扇區由三部分組成:1)引導代碼

                                   2)分區表資訊

                                   3)簽名值(55 AA)

  想要解析這個鏡像,分區表資訊是我們的線索,DOS的分區表每項由16個位元組構成,每個MBR的分區表有四項,也就是MBR的分區表佔據64位元組。MBR分區表每項結構是:

  表裡的所有數字都是十六進位的。

位移(0x) 位元組數 描述
00 1 可引導標誌,80是可引導,00是不可引導
01-03 3 分區起始CHS地址,這個好像現在沒有怎麼用到
04 1 分區類型,05是擴充分區,83是linux分區,82是linux swap,0B、0C是win95 FAT32,86、87是NTFS
05-07 3 分區結束CHS地址
08-0B 4 分區起始邏輯扇區號,邏輯的意思是相對於DOS分區的起始扇區號而言,也就是說是一個相對位址,計算的時候要通過加上MBR扇區起始地址裝換成絕對位址
0C-0F 4 分區大小扇區數

  分區表的四項內容中,一般是三個主要磁碟分割和一個擴充分區,主要磁碟分割項目記錄不一定要在擴充分區這一項的前面,就是說下面的兩種順序都是可以的:

主要磁碟分割1   擴充分區
主要磁碟分割2   主要磁碟分割1
主要磁碟分割3   主要磁碟分割2
擴充分區   主要磁碟分割3

  當然分區表不一定是四項都有內容,也可以是一個主要磁碟分割,剩下的都是擴充分區,總體來說是比較靈活的。

  2、EBR

  EBR中的E就是extended  擴充的意思,這個扇區用來管理擴充分區,結構和MBR是類似的,也是用分區表來記錄擴充分區中每個主要磁碟分割的分區類型、邏輯起始扇區號、分區扇區數目。需要注意的一點事是,雖然EBR中的邏輯起始扇區號是相對於這個EBR扇區的地址而言的,但是在每個擴充分區的起始扇區號是相對主擴充分區而言,也就是說在跟進EBR分區表將相對位址轉為絕對位址時要小心每個擴充分區地址的計算,其他每個分區的計算都只要考慮分區表的起始地址就可以了。下面這張圖截自 馬林《資料重現-檔案系統原理精解與資料恢複最佳實務》 51頁:

  

  展示的是6個檔案系統分區的情況,當計算二級系統檔案分區1的絕對位址時,用2處地址做基址,二級擴充分區1的絕對位址用1處做基址;二級檔案系統分區2的基址是3,二級擴充分區2的基址還是1。

  另外要注意到,6個檔案系統分區的組織情況是:三個主要磁碟分割和三個邏輯分區即二級檔案系統分區1,2,3都是邏輯分區,他們的EBR分區表最多包含兩項,一個邏輯分區一個擴充分區。

  3、superblock

  我們根據MBR和EBR的指引找到了每個檔案系統分區的類型,但我們怎麼知道這個檔案系統分區的名字是什麼呢?(比如我們關注比較多的data分區)在GPT分區中,我們通過GPT分區表就直接得到了每個檔案系統分區的分區名和地址,但在DOS分區中,我們需要利用超級塊得到Android鏡像各分區的名字。超級塊的位移0x78-0x87的16個位元組記錄了這個分區的分區名,因此,根據MBR和EBR分區表得到的檔案系統分區起始地址和對應超級塊中的分區名組合,我們就可以定位到目標資料分割的起始地址。

  後續的解析工作就和解析ext4檔案系統過程一樣,不再重複。

  參考:

    馬林《資料重現-檔案系統原理精解與資料恢複最佳實務》  第二章和第五章

以晶片直讀方式得到的Android全盤鏡像解析——DOS分區

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.