IOS 裝置備份檔案詳解 二

2021-09-06 12:39:32 字數 1560 閱讀 8373

這篇主要講解如何解析manifest.mbdb檔案。

使用二進位制工具開啟這個檔案,檔案的頭6個位元組是固定的,相當於是檔案的一種標識

後面的內容是乙個乙個的項,可以使用乙個迴圈來讀取檔案,乙個乙個解析。

2) 之後就是手機上路徑。這個路徑和域組合之後就可以得出檔案在iphone 上的全路徑了。第乙個圖中的item.path 就是這個路徑,item.domain 就是域。 根據上面的**就可以組合出全路徑了。這個路徑獲取方法和域是一樣的。先讀取檔案的2個位元組,然後根據這兩個位元組的大小讀取內容。從上圖看先讀的兩個為0000,所以路徑就是空字串。

3)鏈結路徑。這個我也不是很清楚,貌似像是windows 的快捷方式一樣,會指向乙個其他的路徑。反正我沒用上這個東西。 讀取的方式和前面一樣

4) 緊接著資料的一段雜湊。先讀出2個位元組,然後根據這兩個位元組計算出乙個大小,進行一些判斷之後把16 進製的資料轉換成字串。

std::string cbackupmbdb::smethod10(cbinaryreader& reader)

int num6 = (num * 0x100) + num2;

cautovectorptrpbuffer;

pbuffer.allocate(num6);

reader.read(pbuffer.m_p,num6);

int index = 0;

index = 0;

while (index < num6)

index++;

}if (index == num6)

return strresult;

}5)  第五個內容的讀取方法和第四個一樣,但是所有的讀出來的都是空字串。

6)   讀出固定的40個位元組,這40個位元組裡面包含的資訊很多,不過大部分都是不需要的,只有乙個欄位是重要的,這個欄位會影響後面的檔案讀取。

cautovectorptrprecordinfo;

precordinfo.allocate(40);

reader.read(precordinfo.m_p,40);

//0x27 也就是最後的位置儲存了這個項的屬性個數,要用這個數字迴圈讀出屬性來。

iteminfo.propertycount = precordinfo[0x27];

for (int i=0;i7)  根據第一步和第二步得出來的域和路徑計算sha1值,這個雜湊值也就是本地的路徑。

然後一直迴圈讀取檔案,直到檔案讀完就可以解析出所有的檔案路徑了

vim備份檔案

vim 一般來說vim不會備份檔案,你可以執行 cp usr share vim vim64 vimrc example.vim vimrc 將vimrc example.vim拷貝到當前使用者的主目錄並改名為.vimrc,該檔案裡面如下 就開啟了vim的備份功能 if has vms setnob...

Centos7備份檔案時備份檔案加入備件日期

linux是以檔案為基礎來管理系統中的裝置 介面 檔案 啟動及應用軟體,因為在本時過程中,對應用系統的.c檔案 指令碼軟體 shell等在編輯時都要求先做備份。一般我對重要檔案進行操作時,都要對檔案先進行備份,如 01 新建乙個檔案 02 備件test copy檔案 cp home hdnnadmi...

Python 備份檔案,以及備份大檔案

今天分享乙個很有用的小 就是關於檔案的備份 import os 匯入os模組 ori file name r e python mayday.輸入檔案路徑 if os.path.isfile ori file name 判斷該路徑的是否是檔案 擷取檔名,重組檔名 seek num ori file ...