本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別涉及一種解析IOS10備份數(shù)據(jù)的方法。
背景技術(shù):
信息數(shù)據(jù)化時(shí)代智能手機(jī)是每個(gè)人不可或缺的通訊工具,人們?cè)谑褂弥悄苁謾C(jī)的過(guò)程中,智能手機(jī)中會(huì)產(chǎn)生大量的用戶數(shù)據(jù),而這些數(shù)據(jù)通常可以通過(guò)一定方法被提取,用于數(shù)據(jù)取證。但I(xiàn)OS系統(tǒng)猶豫安全機(jī)制比較強(qiáng),特別是目前最新的IOS10系統(tǒng),只能通過(guò)數(shù)據(jù)備份的方式來(lái)提取用戶數(shù)據(jù),而備份數(shù)據(jù)結(jié)構(gòu)相對(duì)以往的系統(tǒng)版本有所改變,使其用以往的數(shù)據(jù)解析算法不能完成IOS10備份數(shù)據(jù)的解析。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有技術(shù)的缺陷,提供了一種解析IOS10備份數(shù)據(jù)的方法,能有效的解決上述現(xiàn)有技術(shù)存在的問(wèn)題。
一種解析IOS10備份數(shù)據(jù)的方法,包括以下步驟:
S1:提取IOS10的備份數(shù)據(jù)包;
S2:匹配數(shù)據(jù)庫(kù)名稱;
在IOS備份數(shù)據(jù)包中找名為Manifest.db的SQLite數(shù)據(jù)庫(kù),若找到則表示此備份數(shù)據(jù)包為IOS10系統(tǒng)數(shù)據(jù)包,執(zhí)行S3;若沒(méi)找到則是IOS10之前版本結(jié)束解析;
S3:匹配數(shù)據(jù)庫(kù)表格名稱;
在Manifest.db數(shù)據(jù)庫(kù)中查找名為Files的數(shù)據(jù)表,若找到則執(zhí)行S4,若沒(méi)有找到則結(jié)束解析;
S4:匹配數(shù)據(jù)庫(kù)表格中的字段名稱;
在Files的數(shù)據(jù)表中查找fileID、domain、flags、file四個(gè)字段,若找到上述字段則執(zhí)行S5;若沒(méi)有找到則退出解析;
S5:遍歷關(guān)聯(lián)數(shù)據(jù)屬性;
在Files數(shù)據(jù)表格中,提取file字段中的pilst格式數(shù)據(jù);得到RelativePath數(shù)據(jù)、Birth數(shù)據(jù)、LastModified數(shù)據(jù)和LastStatusChange數(shù)據(jù);
S6:遍歷Files數(shù)據(jù)表格的關(guān)聯(lián)數(shù)據(jù)文件類型;
在Files數(shù)據(jù)表格中的所有行的Flags值;記錄值為1的行;
S7:關(guān)聯(lián)文件數(shù)據(jù)的拷貝解析;
針對(duì)Flags值等于1的行;
找該行數(shù)據(jù)的domain值中保存的數(shù)據(jù)域;
用域名建立一個(gè)文件目錄,再根據(jù)RelativePath數(shù)據(jù)的文件路徑值依次建立多個(gè)子目錄;
最后將備份數(shù)據(jù)中fileID記錄的對(duì)應(yīng)文件名的文件拷貝到路徑所描述的子目錄中;
更改文件名為路徑中所描述的文件名,文件拷貝完成后通過(guò)Birth、LastModified、LastStatusChange三個(gè)時(shí)間數(shù)據(jù),將拷貝文件的文件時(shí)間修改成手機(jī)中的對(duì)應(yīng)文件的原始時(shí)間。
作為優(yōu)選,重復(fù)執(zhí)行S7直至所有Flags值等于1的行拷貝解析完成。
與現(xiàn)有技術(shù)相比本發(fā)明的優(yōu)點(diǎn)在于:通過(guò)文件關(guān)聯(lián)數(shù)據(jù)庫(kù)中的記錄對(duì)備份文件進(jìn)行數(shù)據(jù)關(guān)聯(lián);判斷文件路徑關(guān)聯(lián)數(shù)據(jù)庫(kù);通過(guò)文件關(guān)聯(lián)數(shù)據(jù)庫(kù)中的記錄對(duì)備份文件進(jìn)行數(shù)據(jù)關(guān)聯(lián);可以快速對(duì)IOS10系統(tǒng)備份出的數(shù)據(jù)文件進(jìn)行手機(jī)中路徑名稱的關(guān)聯(lián)解析,用于后期數(shù)據(jù)取證分析。
具體實(shí)施方式
為使本發(fā)明的目的:技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下舉實(shí)施例,對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。
S1:提取IOS10的備份數(shù)據(jù)包;
S2:匹配數(shù)據(jù)庫(kù)名稱;
若在IOS備份數(shù)據(jù)包中找到名為Manifest.db的SQLite數(shù)據(jù)庫(kù)則表示此備份數(shù)據(jù)包為IOS10系統(tǒng)數(shù)據(jù)包,執(zhí)行S3;否則在IOS10之前版本為名為Manifest.mbdb的數(shù)據(jù)庫(kù),結(jié)束。
S3:匹配數(shù)據(jù)庫(kù)表格名稱;
Manifest.db的SQLite數(shù)據(jù)庫(kù)中應(yīng)包含名為Files的數(shù)據(jù)表,該表中記錄了數(shù)據(jù)文件的關(guān)聯(lián)信息,若不包含此表格則退出解析。
S4:匹配數(shù)據(jù)庫(kù)表格中的字段名稱;
在Files的數(shù)據(jù)表中應(yīng)包含fileID、domain、flags、file四個(gè)字段,其中fileID為備份數(shù)據(jù)的文件名,domain為該備份文件所在的域名,flags為在文件的類型,file為文件屬性以.plist格式保存,若包含上述字段則執(zhí)行S5;若不包含以上四個(gè)字段則退出解析。
S5:遍歷關(guān)聯(lián)數(shù)據(jù)屬性;
在Files數(shù)據(jù)表格中,每一行數(shù)據(jù)代表一個(gè)文件或文件夾的關(guān)聯(lián),提取file字段中的pilst格式數(shù)據(jù)
可以得到:
RelativePath數(shù)據(jù),該值表示文件或文件夾所在手機(jī)中的路徑;
Birth數(shù)據(jù),該值表示文件或文件夾所在手機(jī)中的創(chuàng)建時(shí)間;
LastModified數(shù)據(jù),該值表示文件或文件夾所在手機(jī)中的最后修改時(shí)間;
LastStatusChange數(shù)據(jù),該值表示文件或文件夾所在手機(jī)中的最后訪問(wèn)時(shí)間。
S6:遍歷Files數(shù)據(jù)表格的關(guān)聯(lián)數(shù)據(jù)文件類型;
在Files數(shù)據(jù)表格中,每一行的Flags值表示當(dāng)前文件類型,
其中如果值等于1,表示該行數(shù)據(jù)描述的一個(gè)文件,如果值等于2表示該行數(shù)據(jù)描述的是一個(gè)文件夾。
如果值等于其他則可以跳過(guò)繼續(xù)解析下一行。
S7:關(guān)聯(lián)文件數(shù)據(jù)的拷貝解析;
如果在Files數(shù)據(jù)表格中,某一行的數(shù)據(jù)的Flags值等于1,則需要對(duì)原始備份數(shù)據(jù)中的文件進(jìn)行拷貝修改文件名和文件路徑;
其中該行數(shù)據(jù)的domain值中保存了文件所在手機(jī)中的數(shù)據(jù)域,也表示該文件根路徑所在的文件目錄;
首先用域名建立一個(gè)文件目錄,再根據(jù)文件路徑(上述RelativePath數(shù)據(jù)的值)依次建立多個(gè)子目錄;
最后將備份數(shù)據(jù)中fileID記錄的對(duì)應(yīng)文件名的文件拷貝到路徑所描述的子目錄中;
更改文件名為路徑中所描述的文件名,文件拷貝完成后通過(guò)Birth、LastModified、LastStatusChange三個(gè)時(shí)間數(shù)據(jù),將拷貝文件的文件時(shí)間修改成手機(jī)中的對(duì)應(yīng)文件的原始時(shí)間,保證文件數(shù)據(jù)在解析中的一致性。
重復(fù)執(zhí)行S7直至所有Flags值等于1的行拷貝解析完成。
本領(lǐng)域的普通技術(shù)人員將會(huì)意識(shí)到,這里所述的實(shí)施例是為了幫助讀者理解本發(fā)明的實(shí)施方法,應(yīng)被理解為本發(fā)明的保護(hù)范圍并不局限于這樣的特別陳述和實(shí)施例。本領(lǐng)域的普通技術(shù)人員可以根據(jù)本發(fā)明公開的這些技術(shù)啟示做出各種不脫離本發(fā)明實(shí)質(zhì)的其它各種具體變形和組合,這些變形和組合仍然在本發(fā)明的保護(hù)范圍內(nèi)。