一種hfs+文件系統數據恢復方法及裝置的制作方法

            文檔序號:6434372閱讀:437來源:國知局
            專利名稱:一種hfs+文件系統數據恢復方法及裝置的制作方法
            技術領域
            本發明涉及計算機應用技術領域,更具體地說,涉及一種HFS+文件系統數據恢復方法及裝置。
            背景技術
            分層文件系統(Hierarchical File System, HFS)是蘋果機的Mac操作系統所使用的一種文件系統,Mac操作系統早期使用HFS文件系統,HFS+是HFS的升級版本,在HFS 的基礎上做了一些重要的改進,HFS+卷的組織結構如圖1所示。其中包括保留區域(Reservide),該區域數據為全0 ’卷頭(Volume Header),每個HFS+卷都必須有一個卷頭,卷頭內存儲著各種與卷相關的信息,如卷建立的日期和時間,卷內的文件數量等,還有卷的其他重要結構的存儲位置;備份卷頭(Alternate Volume Header),卷頭的備份;分配文件(Alternate File),用來描述一個分配快是被占用還是空閑;域溢出文件(Extents Overflow File),多于8個域的文件信息,超出的部分保存在這里;目錄文件(Catalog File),用來描述卷內的文件和目錄層次結構,它存儲著卷內所有文件和目錄的重要信息,目錄文件的B-樹(B-tree)結構可以快速而有效地在一個層次很多的大目錄中尋找目標文件;屬性文件(Attributes File),用來保存文件或目錄的附加信息;啟動文件(Startup File)。蘋果機用B-tree結構來對數據進行管理,用它作為索引,通過這個索引就可以找到我們需要的文件。B-tree是一種多路搜索樹,它必須滿足1、定義任意非葉子節點最多只有M個兒子,且M> 2 ;2、根節點的兒子數為[2,M] ;3、除根節點以外的非葉子節點的兒子數為[M/2,M] ;4、每個節點存放至少M/2-l(取上整)和至多M-I個關鍵字(至少2個關鍵字);5、非葉子節點的關鍵字個數=指向兒子的指針個數-1 ;6、非葉子節點的關鍵字 K[1],K[2],...K[M-1];且 K[i] <K[i+l] ;7、非葉子節點的指針P [1],P [2],. . .,P [M];其中P[l]指向關鍵字小于K[l]的子樹,Ρ[Μ]指向關鍵字大于Κ[Μ-1]的子樹,其他P[i]指向關鍵字屬于(K[i_l],K[i])的子樹;8、所有葉子節點位于同一層。B-tree文件被分割成固定大小的“節點(Node) ”每個節點中都包含相應的檔案項。每個檔案項由一個關鍵字(key)和一些數據組成。HFS+文件中,共有4種節點頭節點,圖節點,索引節點和葉節點。其中,索引節點和葉節點如圖2所示,索引節點用于索引其他的索引節點,或者索引葉節點,葉節點用于查找數據,節點的每個記錄項的內容格式是什么,要看這個節點是子節點還是葉子節點,且是屬于目錄文件還是域溢出文件等等。B-tree文件中的頭節點是B-tree的第一個節點,每棵B-tree有一個唯一的頭節點,結構如圖3所示,它包含B-tree中如何找到其他節點的信息,其中包括節點描述(Node Descriptor)、B_ 樹頭記錄(B-tree Header Record)、用戶數據記錄(User Data Record)、 B-樹地圖記錄(B-tree Map Record)、偏移至空余空間(Offset to Free Space)、偏移至記錄 2 (Offset to Record 幻、偏移至記錄 1 (Offset to Record 1)、偏移至記錄 0 (Offset to Record 0)。
            現有的蘋果機系統中,當本來是HFS+文件系統分區被重新分區,或被重新格式化,或者分區表損壞無法識別分區,或者無法識別是什么格式的文件系統時,采用目前的各種數據恢復軟件均無法恢復之前HFS+文件系統中的文件,因此會導致用戶丟失重要文件 fn息ο

            發明內容
            本發明要解決的技術問題在于,針對現有技術的上述缺陷,提供一種HFS+文件系統數據恢復方法及裝置,采用該方法及裝置可恢復存儲介質中的HFS+格式文件。本發明解決其技術問題所采用的技術方案是構造一種HFS+文件系統數據恢復方法,其中,包括以下步驟A、以扇區為單位對存儲介質中的文件進行掃描;B、從被掃描文件中查找卷頭,如果查找到所述卷頭,執行步驟C,否則執行步驟A, 掃描下一扇區;C、根據頭節點的節點描述符中的各字段和頭檔案中的各字段,從所查找到的所述卷頭所對應的目錄文件中查找頭節點,如果查找到頭節點,則執行步驟F,否則執行步驟D ;D、判斷所述卷頭是否是備份卷頭,如果是備份卷頭,執行步驟E,否則執行步驟A, 掃描下一扇區;E、根據所述備份卷頭的位置逆推出所述卷頭的位置,再根據所述卷頭位置和備份卷頭的各個字段定位頭節點,如果定位到頭節點,則執行步驟F,否則執行步驟A,掃描下一扇區;F、遍歷所有定位到的頭節點中所包含的B-樹,得到其中的文件和目錄信息,恢復文件數據。本發明所述的HFS+文件系統數據恢復方法,其中,所述步驟B中,查找所述卷頭時,判斷文件的卷頭簽名,如果文件的卷頭簽名16進制為0x482b、且版本等于4,或者文件的卷頭簽名16進制為0x4858、且版本等于5,則為所述卷頭。本發明所述的HFS+文件系統數據恢復方法,其中,所述步驟B還包括以下步驟的任意一個或并列多個步驟Bi、判斷文件的卷屬性,如果所述卷屬性等于0x80002000或者等于 0x80000000,則為所述卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;步驟B2、判斷文件的最后裝載版本,如果所述最后裝載版本16進制為0x484653^ 或者0x46534b21,則為所述卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;步驟B3、判斷文件的創建日期,如果所述創建日期不等于0、且修改日期不等于0、 且校驗日期不等于0,則為所述卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;步驟B4、判斷文件的分配塊大小,如果所述分配塊大小等于0x1000、且資源叉默認塊組大小等于0x10000、且數據叉默認塊組大小等于0x10000,則為所述卷頭,執行步驟 C,否則執行步驟A,掃描下一扇區;步驟B5、判斷文件中的分配文件、域溢出文件、目錄文件、屬性文件和啟動文件,如果所述分配文件、域溢出文件、目錄文件、屬性文件和啟動文件的邏輯大小等于分配塊大小乘以總塊數、且域描述符的分配塊數的總和等于總塊數。
            本發明所述的HFS+文件系統數據恢復方法,其中,所述步驟C中,查找所述頭節點方法為判斷所述頭節點的節點描述符中的各字段和所述頭節點的頭檔案的各字段,如果所述頭節點的節點描述符中的上一個節點號等于0、節點類型等于1、節點高度等于0、檔案數等于3以及保留字段等于0,且所述頭節點的頭檔案的根節點號大于0且小于節點總數、 未使用節點數小于節點總數、第一個葉節點號小于節點總數、最后一個葉節點號以及小于節點總數,則認為是所述頭節點。本發明所述的HFS+文件系統數據恢復方法,其中,所述步驟C中,所述頭節點的頭檔案還需要滿足以下任意一個或多個條件節點大小介于512與32768之間;節點類型為0 ;樹最大高度大于0且小于16。本發明所述的HFS+文件系統數據恢復方法,其中,所述步驟F包括步驟F1、查找葉節點,從所述頭節點的開始偏移處讀出B-樹的每個節點,判斷所讀出節點的節點描述符的各字段,如果所讀出節點的節點描述符的節點類型等于-1、節點高度小于16、且保留字段等于0,則判斷為所述葉節點,執行步驟F2 ;F2、恢復文件數據,解析所述葉節點中記錄的檔案信息,分解出目錄檔案項和文件檔案項,根據所述文件檔案項中的數據叉記錄的位置信息和大小信息恢復文件。本發明所述的HFS+文件系統數據恢復方法,其中,所述步驟Fl中,查找所述葉節點還需滿足以下任意一個條件或兩個條件所讀出節點的節點描述符的下一個節點小于或等于頭節點的頭檔案的節點總數;所讀出節點的上一個節點號小于或等于頭節點的頭檔案的節點總數。本發明還提供了一種HFS+文件系統數據恢復裝置,包括扇區掃描模塊、卷頭查找模塊、頭節點查找模塊、備份卷頭判斷模塊、頭節點定位模塊和文件恢復模塊其中,所述扇區掃描模塊,用于以扇區為單位對存儲介質中的文件進行掃描;所述卷頭查找模塊,用于從被掃描文件中查找卷頭,如果查找到所述卷頭,則觸發所述頭節點查找模塊,查找頭節點,否則觸發所述扇區掃描模塊,繼續掃描下一扇區;所述頭節點查找模塊,用于根據頭節點的節點描述符中的各字段和頭檔案中的各字段,從所查找到的所述卷頭所對應的目錄文件中查找頭節點,如果定位到所述頭節點,則觸發所述文件恢復模塊,恢復文件數據,否則觸發所述備份卷頭判斷模塊,判斷卷頭是否是備份卷頭;所述備份卷頭判斷模塊,用于判斷所述卷頭是否是備份卷頭,如果查找到所述備份卷頭,則觸發所述頭節點定位模塊,定位頭節點,否則觸發所述扇區掃描模塊,繼續掃描下一扇區;所述頭節點定位模塊,用于根據所述備份卷頭的位置逆推出所述卷頭的位置,再根據所述卷頭位置和備份卷頭的各個字段定位頭節點,如果定位到所述頭節點,則觸發所述文件恢復模塊,恢復文件數據,否則觸發所述扇區掃描模塊,繼續掃描下一扇區;所述文件恢復模塊,用于遍歷所有定位到的頭節點中所包含的B-樹,得到其中的文件和目錄信息,恢復文件數據。本發明所述的HFS+文件系統數據恢復裝置,其中,所述卷頭查找模塊包括卷頭簽名判斷單元,用于在查找所述卷頭時,判斷文件的卷頭簽名,如果所述文件的卷頭簽名16進制為0x482b、且版本等于4,或者所述文件的卷頭簽名16進制為0x4858、 且版本等于5,則為所述卷頭。本發明所述的HFS+文件系統數據恢復裝置,其中,所述頭節點查找模塊包括頭節點判斷單元,用于判斷所述頭節點的節點描述符中的各字段和所述頭節點的頭檔案的各字段,如果所述頭節點的節點描述符中的上一個節點號等于0、節點類型等于 1、節點高度等于0、檔案數等于3以及保留字段等于0,且所述頭節點的頭檔案的根節點號大于0且小于節點總數、未使用節點數小于節點總數、第一個葉節點號小于節點總數、最后一個葉節點號以及小于節點總數,則認為是所述頭節點。本發明的有益效果在于通過掃描存儲介質中的文件,并查找到卷頭,再通過卷頭查找到頭節點,然后遍歷所有定位到的目錄文件頭節點中所包含的B-樹,得到其中的文件和目錄信息,恢復文件數據,采用這樣的數據恢復方式后,只要是存儲介質上曾經存在過 HFS+格式的文件系統,就有可能將其中的HFS+格式文件恢復出來,即使是已經被刪除的 HFS+格式文件也有可能會被恢復出來。


            下面將結合附圖及實施例對本發明作進一步說明,附圖中圖1是現有技術中的HFS+卷的組織結構示意圖;圖2是現有技術中的B-樹文件中的索引節點和葉節點示意圖;圖3是現有技術中的B-樹文件中的頭節點示意圖;圖4是本發明較佳實施例的HFS+文件系統數據恢復方法流程;圖5是本發明較佳實施例的HFS+文件系統數據恢復方法中步驟S130流程圖;圖6是本發明較佳實施例的HFS+文件系統數據恢復裝置原理框圖;圖7是本發明較佳實施例的HFS+文件系統數據恢復裝置中卷頭查找模塊原理框圖。
            具體實施例方式本發明較佳實施例的HFS+文件系統數據恢復方法流程如圖4所示,該方法SlOO 開始于步驟Sl 10。在步驟S120中,以扇區為單位對存儲介質中的文件進行掃描。HFS+格式的文件系統中,卷頭在存儲介質上的位置是以扇區為單位的,且卷頭的前兩個扇區為保留區域,所以以扇區為單位從存儲介質的第二個扇區開始對文件進行掃描,以查找文件的卷頭。在步驟S130中,從被掃描文件中查找卷頭,如果查找到卷頭,執行步驟S140,否則執行步驟S120,掃描下一扇區。由于文件的卷頭中包含有各種與卷相關的信息,如卷建立的日期和時間,卷內的文件數量等,還有卷的其他重要結構的存儲位置,因此找到卷頭之后, 可以根據卷頭中的信息來查找文件的頭節點,然后可以頭節點中的B-樹信息來做索引,通過這個索引既可定位到需要恢復的文件。
            優選地,在上述步驟S130中,查找文件的卷頭時,主要判斷文件的卷頭簽名,如果文件的卷頭簽名(signature)等于“H+”,16進制為0x482b、且版本等于4,或者文件的卷頭簽名16進制為0x4858、且版本等于5,則為卷頭。更優選地,如圖5所示,步驟S130除了包括步驟S131,即判斷卷頭簽名16進制是否為0x482b、且版本等于4,或者文件的卷頭簽名16進制是否為0x4858、且版本等于5之外,還進一步包括步驟S132、S133、S134、S135、S136中的一步或多步,即進一步判斷文件的下述各項中的一種或多種是否滿足條件,包括卷屬性、最后裝載版本、創建日期、分配塊大小,或者同時判斷卷頭中分配文件、域溢出文件、目錄文件、屬性文件和啟動文件的邏輯大對上述各項的判斷條件如下在步驟S132中,判斷文件的卷屬性,如果卷屬性(attributes)等于0x80002000 或者等于0x80000000,則為卷頭,否則舍棄;在步驟S133中,判斷文件的最后裝載版本,如果最后裝載版本(last Mounted Version)等于“HFSJ”(16 進制為 0x484653^),或者等于“FSK ! ”(16 進制為 0x46534b21), 則為卷頭,否則舍棄;在步驟S134中,判斷文件的創建日期,如果創建日期(create Date)不等于0、修改日期(modify Date)不等于0、且校驗日期(check Data)不等于0,則為卷頭,否則舍棄;在步驟S135中,判斷文件的分配塊大小,如果分配塊大小(block Size)等于 0x1000、且資源叉默認塊組大小(rsrc Clump Size)等于0x10000、且數據叉默認塊組大小 (data ClumpSize)等于0x10000,則為卷頭,否則舍棄;在步驟S136中,判斷卷頭中的分配文件、域溢出文件、目錄文件、屬性文件和啟動文件,由于這些文件都使用的是叉數據結構(HFS Plus Fork Data結構),如果卷頭中的分配文件、域溢出文件、目錄文件、屬性文件和啟動文件均滿足邏輯大小(logical Size)等于分配塊大小乘以總塊數(total Blocks)且域描述符(HFS Plus Extent Descriptor)的分配塊數(block Count)的總和要等于總塊數(total Blocks)。當包括步驟S132、S133、S134、S135、S136中的兩步以上時,每一步驟的執行可與判斷文件的卷頭簽名過程同時進行,相互之間沒有時間先后順序,可按照技術人員的需求自定義。當然,對卷頭的約束條件越多,所得到的卷頭也越準確,當同時判斷上述所有項,則可能得到文件中的所有卷頭。因此,在步驟S137中,可以設置為當S132、S133、S134、S135、S136中有一個判斷結果為是時,則確定為卷頭,執行步驟S140 ;還可將步驟S137設定為,當步驟S132、S133、 S134、S135、S136中所有判斷結果均為是時,才確定為卷頭,執行步驟S140,否則執行步驟 S120。或者是根據需要設定的其他條件,而不應局限于圖5中所示的步驟。在步驟S140中,根據頭節點的節點描述符中的各字段和頭檔案中的各字段,從所查找到的卷頭所對應的目錄文件中查找頭節點,如果查找到頭節點,則執行步驟S170,否則執行步驟S150。具體地,頭節點中的節點描述符(BT Node Descriptor)的各字段必須同時滿足下列條件(1-1)、上一個節點號(b Link)等于 0 ;
            (1-2)、節點類型(kind)等于 1 ;(1-3)、節點高度(height)等于 0 ;(1-4)、檔案數(num Records)等于 3 ;(1-5)、保留字段(Reserved)等于 0。頭節點的頭檔案(BT Header Rec)的各字段必須同時滿足下列條件(2-1)、根節點號(root Node)大于0且小于節點總數(total Nodes);(2-2)、未使用節點數(free Nodes)小于節點總數(total Nodes);(2-3)、第一個葉節點號(first Leaf Node)小于節點總數(total Nodes);(2-4)、最后一個葉節點號(last Leaf Node)小于節點總數(total Nodes)。當頭節點的節點描述符中的各字段和頭檔案中的各字段滿足上述條件時,則認為是頭節點,執行步驟S170,否則執行步驟S150。進一步地,頭節點的頭檔案還需要滿足以下條件0-5)、節點大小(node Size),用字節表示必須是2的整數次冪,介于512與32768 之間;(2-6)、節點類型(btree Type)為 0 ;(2-7)、樹最大高度(tree Depth)大于0且小于16。可以根據需要設定當頭節點的節點描述符中的各字段滿足條件(1-1)、(1-2)、 (1-3)、(1-4)、(1-5),且頭檔案中的各字段滿足(2-1)、(2-2)、(2-3)、(2-4)、(2-5)、(2-6)、 (2-7)時,才則認為是頭節點,執行步驟S170,否則執行步驟S150。這樣可以保證頭節點判斷更加準確,以確保所恢復數據的完整性。在步驟S150中,判斷所查找的卷頭是否是備份卷頭,如果是備份卷頭,執行步驟 S160,否則執行步驟S120,掃描下一扇區。其中,判斷是否為備份卷頭的方法是,判斷所查找的卷頭的最后裝載版本,如果卷頭的最后裝載版本等于“ 10. 0”,16進制為0x31302e30,則為備份卷頭。在步驟S160中,根據備份卷頭的位置逆推出卷頭的位置,再根據卷頭位置和備份卷頭的各個字段定位頭節點,如果定位到頭節點,則執行步驟S170,否則執行步驟S120,掃描下一扇區。備份卷頭是卷頭的副本,當卷的總大小正好是分配塊大小(block Size)的整數倍時,卷的總大小等于卷頭/備份卷頭的分配塊總數(total Blocks)乘以卷頭/備份卷頭的分配塊大小(block Size)。而當卷大小不是分配塊大小(block Size)的整數倍時,則分配塊總數(total Blocks)記錄的塊數就不包含尾部多出的不夠一個分配塊的空間。所以可以從備份卷頭逆推卷頭的位置,但是存在分配塊大小(block Size)除去512(—個扇區的大小,因為分配塊大小一定是扇區大小的整數倍,卷大小也一定是扇區大小的整數倍) 個扇區的偏差。則先假設卷的大小為分配塊的整數倍,逆推出卷頭的位置,根據卷頭位置和備份卷頭的各個字段,定位到目錄文件的頭節點,發現這個頭節點定位正確,則證明所逆推的卷頭正確。如若不正確,則試著用原逆推的位置每次減去一個扇區,再來定位目錄文件的頭節點,直到定位的頭節點是正確的,或者減分配塊大小(block Size)除去512個扇區的次數。 找到成對的卷頭和備份卷頭就可以確認卷頭了,而不成對的卷頭和備份卷頭可能是被損壞或者非卷頭。
            在步驟S170中,遍歷所有定位到的目錄文件頭節點中所包含的B-樹,得到其中的文件和目錄信息,恢復文件數據。頭節點的開始偏移就是B-tree的開始偏移,從頭節點的節點大小(node Size)得知每個節點的大小,節點總數(total Nodes)得知節點的總數,則從頭節點的開始偏移處將每個節點讀取出來,節點可能會是索引節點也可能是葉節點或者唯一的頭節點,這三種節點都有一個節點描述符(BT Node Descriptor)結構。具體包括a、查找葉節點,從頭節點的開始偏移處讀出B-樹的每個節點,判斷所讀出節點的節點描述符的各字段,如果所讀出節點的節點描述符的節點類型等于-1、節點高度小于16、且保留字段等于0,則判斷為葉節點,執行步驟b ;b、恢復文件數據,解析葉節點中記錄的檔案信息,分解出目錄檔案項(HFS Plus Catalog Folder)和文件檔案項(HFS Plus Catalog File),根據文件檔案項中的數據叉 (data Fork)記錄的位置信息和大小信息,恢復文件。優選地,上述步驟a中,查找葉節點還需滿足條件為所讀出節點的節點描述符的下一個節點小于或等于頭節點的頭檔案的節點總數。或者更進一步的包括判斷所讀出節點的上一個節點號,如果所讀出節點的上一個節點號小于或等于頭節點的頭檔案的節點總數。上述方法S100結束于步驟S180。在本發明的另一實施例中,還提供了一種HFS+文件系統數據恢復裝置,如圖6所示,包括扇區掃描模塊10、卷頭查找模塊20、頭節點查找模塊30、備份卷頭判斷模塊40、頭節點定位模塊50和文件恢復模塊60。其中,扇區掃描模塊10,用于以扇區為單位對存儲介質中的文件進行掃描,HFS+格式的文件系統中,卷頭在存儲介質上的位置是以扇區為單位的,且卷頭的前兩個扇區為保留區域,所以以扇區為單位從存儲介質的第二個扇區開始對文件進行掃描,以查找文件的卷頭。卷頭查找模塊20,用于從被掃描文件中查找卷頭,如果查找到卷頭,則觸發頭節點查找模塊30,查找頭節點,否則觸發扇區掃描模塊10,繼續掃描下一扇區。由于文件的卷頭中包含有各種與卷相關的信息,如卷建立的日期和時間,卷內的文件數量等,還有卷的其他重要結構的存儲位置,因此找到卷頭之后,可以根據卷頭中的信息來查找文件的頭節點,然后可以頭節點中的B-樹信息來做索引,通過這個索引既可定位到需要恢復的文件。頭節點查找模塊30,用于根據頭節點的節點描述符中的各字段和頭檔案中的各字段,從所查找到的卷頭所對應的目錄文件中查找頭節點。如果定位到頭節點,則觸發文件恢復模塊60,恢復文件數據,否則觸發備份卷頭判斷模塊40,判斷卷頭是否是備份卷頭。備份卷頭判斷模塊40,用于判斷卷頭是否是備份卷頭。其中,判斷是否為備份卷頭的方法是,判斷所查找的卷頭的最后裝載版本,如果卷頭的最后裝載版本等于“ 10. 0”,16 進制為0x3130^30,則為備份卷頭。如果查找到備份卷頭,則觸發頭節點定位模塊50,定位頭節點,否則觸發扇區掃描模塊10,繼續掃描下一扇區。頭節點定位模塊50,用于根據備份卷頭的位置逆推出卷頭的位置,再根據卷頭位置和備份卷頭的各個字段定位頭節點。如果定位到頭節點,則觸發文件恢復模塊60,恢復文件數據,否則觸發扇區掃描模塊10,繼續掃描下一扇區。由于備份卷頭是卷頭的副本,當卷的總大小正好是分配塊大小(block Size)的整數倍時,卷的總大小等于卷頭/備份卷頭的分配塊總數(total Blocks)乘以卷頭/備份卷頭的分配塊大小(block Size)。而當卷大小不是分配塊大小(block Size)的整數倍時,則分配塊總數(total Blocks)記錄的塊數就不包含尾部多出的不夠一個分配塊的空間。所以可以從備份卷頭逆推卷頭的位置,但是存在分配塊大小(block Size)除去512(—個扇區的大小,因為分配塊大小一定是扇區大小的整數倍,卷大小也一定是扇區大小的整數倍)個扇區的偏差。文件恢復模塊60,用于遍歷所有定位到的頭節點中所包含的B-樹,得到其中的文件和目錄信息,恢復文件數據。頭節點的開始偏移就是B-tree的開始偏移,從頭節點的節點大小(node Size)得知每個節點的大小,節點總數(total Nodes)得知節點的總數,則從頭節點的開始偏移處將每個節點讀取出來,節點可能會是索引節點也可能是葉節點或者唯一的頭節點,這三種節點都有一個節點描述符(BT Node Descriptor)結構。具體包括a、查找葉節點,從頭節點的開始偏移處讀出B-樹的每個節點,判斷所讀出節點的節點描述符的各字段,如果所讀出節點的節點描述符的節點類型等于-1、節點高度小于16、且保留字段等于0,則判斷為葉節點,執行步驟b ;b、恢復文件數據,解析葉節點中記錄的檔案信息,分解出目錄檔案項(HFSPlus Catalog Folder)和文件檔案項(HFS Plus Catalog File),根據文件檔案項中的數據叉 (data Fork)記錄的位置信息和大小信息,恢復文件。優選地,上述步驟a中,查找葉節點還需滿足條件為所讀出節點的節點描述符的下一個節點小于或等于頭節點的頭檔案的節點總數。或者更進一步的包括判斷所讀出節點的上一個節點號,如果所讀出節點的上一個節點號小于或等于頭節點的頭檔案的節點總數。在進一步的實施例中,如圖7所示,上述HFS+文件系統數據恢復裝置的卷頭查找模塊20包括卷頭簽名判斷單元21,用于在查找卷頭時,判斷文件的卷頭簽名,如果文件的卷頭簽名16進制為0x482b、且版本等于4,或者文件的卷頭簽名16進制為0x4858、且版本等于5,則為卷頭。在更進一步的實施例中,如圖7所示,上述卷頭查找模塊20還包括卷屬性判斷單元22、最后裝載版本判斷單元23、創建日期判斷單元M、分配塊大小判斷單元25以及文件邏輯大小判斷單元26中的個或多個。分別用于進一步的判斷文件的下述各項是否滿足條件,包括卷屬性、最后裝載版本、創建日期、分配塊大小,或者同時判斷卷頭中分配文件、域溢出文件、目錄文件、屬性文件和啟動文件的邏輯大小。其中,卷屬性判斷單元22,用于判斷文件的卷屬性,如果卷屬性(attributes)等于0x80002000或者等于0x80000000,則為卷頭,否則舍棄;最后裝載版本判斷單元23,用于判斷文件的最后裝載版本,如果最后裝載版本(last Mounted Version)等于“HFSJ”(16 進制為0x484653^),或者等于“FSK !,,(16進制為0x46534b21),則為卷頭,否則舍棄;創建日期判斷單元對,用于判斷文件的創建日期,如果創建日期(create Date)不等于0、修改日期(modify Date)不等于0、且校驗日期(check Data)不等于0,則為卷頭,否則舍棄; 分配塊大小判斷單元25,用于判斷文件的分配塊大小,如果分配塊大小(block Size)等于 0x1000、且資源叉默認塊組大小(rsrc Clump Size)等于0x10000、且數據叉默認塊組大小 (data ClumpSize)等于0x10000,則為卷頭,否則舍棄;文件邏輯大小判斷單元沈,用于判斷卷頭中的分配文件、域溢出文件、目錄文件、屬性文件和啟動文件,由于這些文件都使用的是叉數據結構(HFS Plus Fork Data結構),如果卷頭中的分配文件、域溢出文件、目錄文件、屬性文件和啟動文件均滿足邏輯大小(logical Size)等于分配塊大小乘以總塊數 (total Blocks)且域描述符(HFS Plus Extent Descriptor)的分配塊數(block Count) 的總和要等于總塊數(total Blocks)。當卷頭查找模塊20包括卷屬性判斷單元22、最后裝載版本判斷單元23、創建日期判斷單元M、分配塊大小判斷單元25以及文件邏輯大小判斷單元沈中的兩個以上時,各個單元的執行可與卷頭簽名判斷單元同步,相互之間沒有時間先后順序,可按照技術人員的需求自定義。當然,對卷頭的約束條件越多,所得到的卷頭也越準確,當同時判斷上述所有項,則可能得到文件中的所有卷頭。在進一步的實施例中,上述HFS+文件系統數據恢復裝置的頭節點查找模塊30包括頭節點判斷單元,用于判斷頭節點的節點描述符中的各字段和頭節點的頭檔案的各字段,如果頭節點的節點描述符中的上一個節點號等于0、節點類型等于1、節點高度等于0、 檔案數等于3以及保留字段等于0 ;且頭節點的頭檔案的根節點號大于0且小于節點總數、 未使用節點數小于節點總數、第一個葉節點號小于節點總數、最后一個葉節點號以及小于節點總數,則認為是頭節點。在更進一步的實施例中,上述頭節點判斷單元還進一步用于判斷節點大小(node Size),用字節表示必須是2的整數次冪,是否介于512與32768之間;節點類型(btree Type)是否為0 ;樹最大高度(tree Depth)是否大于0且小于16。以保證頭節點判斷更加準確,確保所恢復數據的完整性。本發明的HFS+文件系統數據恢復方法及裝置,通過掃描存儲介質中的文件,并查找到卷頭,再通過卷頭查找到頭節點,然后遍歷所有定位到的目錄文件頭節點中所包含的B-樹,得到其中的文件和目錄信息,恢復文件數據,采用這樣的數據恢復方式后,只要是存儲介質上曾經存在過HFS+格式的文件系統,就有可能將其中的HFS+ 格式文件恢復出來,即使是已經被刪除的HFS+格式文件也有可能會被恢復出來。解決了現有技術中由于某些原因導致無法識別是什么格式的文件系統,或者誤操作格式化為其他文件系統等原因,導致本來是HFS+文件系統的存儲介質,已經無法被識別的問題。應當理解的是,對本領域普通技術人員來說,可以根據上述說明加以改進或變換, 而所有這些改進和變換都應屬于本發明所附權利要求的保護范圍。
            權利要求
            1.一種HFS+文件系統數據恢復方法,其特征在于,包括以下步驟A、以扇區為單位對存儲介質中的文件進行掃描;B、從被掃描文件中查找卷頭,如果查找到所述卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;C、根據頭節點的節點描述符中的各字段和頭檔案中的各字段,從所查找到的所述卷頭所對應的目錄文件中查找頭節點,如果查找到頭節點,則執行步驟F,否則執行步驟D ;D、判斷所述卷頭是否是備份卷頭,如果是備份卷頭,執行步驟E,否則執行步驟A,掃描下一扇區;E、根據所述備份卷頭的位置逆推出所述卷頭的位置,再根據所述卷頭位置和備份卷頭的各個字段定位頭節點,如果定位到頭節點,則執行步驟F,否則執行步驟A,掃描下一扇區;F、遍歷所有定位到的頭節點中所包含的B-樹,得到其中的文件和目錄信息,恢復文件數據。
            2.根據權利要求1所述的HFS+文件系統數據恢復方法,其特征在于,所述步驟B中,查找所述卷頭時,判斷文件的卷頭簽名,如果所述文件的卷頭簽名16進制為0x482b、且版本等于4,或者所述文件的卷頭簽名16進制為0x4858、且版本等于5,則為所述卷頭。
            3.根據權利要求2所述的HFS+文件系統數據恢復方法,其特征在于,所述步驟B還包括以下步驟的任意一個或并列多個步驟Bi、判斷文件的卷屬性,如果所述卷屬性等于0x80002000或者等于0x80000000, 則為所述卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;步驟B2、判斷文件的最后裝載版本,如果所述最后裝載版本16進制為0x484653^或者 0x46534b21,則為所述卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;步驟B3、判斷文件的創建日期,如果所述創建日期不等于0、且修改日期不等于0、且校驗日期不等于0,則為所述卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;步驟B4、判斷文件的分配塊大小,如果所述分配塊大小等于0x1000、且資源叉默認塊組大小等于0x10000、且數據叉默認塊組大小等于0x10000,則為所述卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;步驟B5、判斷文件中的分配文件、域溢出文件、目錄文件、屬性文件和啟動文件,如果所述分配文件、域溢出文件、目錄文件、屬性文件和啟動文件的邏輯大小等于分配塊大小乘以總塊數、且域描述符的分配塊數的總和等于總塊數。
            4.根據權利要求1所述的HFS+文件系統數據恢復方法,其特征在于,所述步驟C中,查找所述頭節點方法為判斷所述頭節點的節點描述符中的各字段和所述頭節點的頭檔案的各字段,如果所述頭節點的節點描述符中的上一個節點號等于0、節點類型等于1、節點高度等于0、檔案數等于3以及保留字段等于0 ;且所述頭節點的頭檔案的根節點號大于0且小于節點總數、未使用節點數小于節點總數、第一個葉節點號小于節點總數、最后一個葉節點號以及小于節點總數,則認為是所述頭節點。
            5.根據權利要求4所述的HFS+文件系統數據恢復方法,其特征在于,所述步驟C中,所述頭節點的頭檔案還需要滿足以下任意一個或多個條件節點大小介于512與32768之間;節點類型為0 ;樹最大高度大于0且小于16。
            6.根據權利要求1所述的HFS+文件系統數據恢復方法,其特征在于,所述步驟F包括步驟F1、查找葉節點,從所述頭節點的開始偏移處讀出B-樹的每個節點,判斷所讀出節點的節點描述符的各字段,如果所讀出節點的節點描述符的節點類型等于-1、節點高度小于 16、且保留字段等于0,則判斷為所述葉節點,執行步驟F2;F2、恢復文件數據,解析所述葉節點中記錄的檔案信息,分解出目錄檔案項和文件檔案項,根據所述文件檔案項中的數據叉記錄的位置信息和大小信息恢復文件。
            7.根據權利要求6所述的HFS+文件系統數據恢復方法,其特征在于,所述步驟Fl中, 查找所述葉節點還需滿足以下任意一個條件或兩個條件所讀出節點的節點描述符的下一個節點小于或等于頭節點的頭檔案的節點總數;所讀出節點的上一個節點號小于或等于頭節點的頭檔案的節點總數。
            8.—種HFS+文件系統數據恢復裝置,其特征在于,包括扇區掃描模塊、卷頭查找模塊、 頭節點查找模塊、備份卷頭判斷模塊、頭節點定位模塊和文件恢復模塊其中,所述扇區掃描模塊,用于以扇區為單位對存儲介質中的文件進行掃描;所述卷頭查找模塊,用于從被掃描文件中查找卷頭,如果查找到所述卷頭,則觸發所述頭節點查找模塊,查找頭節點,否則觸發所述扇區掃描模塊,繼續掃描下一扇區;所述頭節點查找模塊,用于根據頭節點的節點描述符中的各字段和頭檔案中的各字段,從所查找到的所述卷頭所對應的目錄文件中查找頭節點,如果定位到所述頭節點,則觸發所述文件恢復模塊,恢復文件數據,否則觸發所述備份卷頭判斷模塊,判斷卷頭是否是備份卷頭;所述備份卷頭判斷模塊,用于判斷所述卷頭是否是備份卷頭,如果查找到所述備份卷頭,則觸發所述頭節點定位模塊,定位頭節點,否則觸發所述扇區掃描模塊,繼續掃描下一扇區;所述頭節點定位模塊,用于根據所述備份卷頭的位置逆推出所述卷頭的位置,再根據所述卷頭位置和備份卷頭的各個字段定位頭節點,如果定位到所述頭節點,則觸發所述文件恢復模塊,恢復文件數據,否則觸發所述扇區掃描模塊,繼續掃描下一扇區;所述文件恢復模塊,用于遍歷所有定位到的頭節點中所包含的B-樹,得到其中的文件和目錄信息,恢復文件數據。
            9.根據權利要求8所述的HFS+文件系統數據恢復裝置,其特征在于,所述卷頭查找模塊包括卷頭簽名判斷單元,用于在查找所述卷頭時,判斷文件的卷頭簽名,如果所述文件的卷頭簽名16進制為0x482b、且版本等于4,或者所述文件的卷頭簽名16進制為0x4858、且版本等于5,則為所述卷頭。
            10.根據權利要求8所述的HFS+文件系統數據恢復裝置,其特征在于,所述頭節點查找模塊包括頭節點判斷單元,用于判斷所述頭節點的節點描述符中的各字段和所述頭節點的頭檔案的各字段,如果所述頭節點的節點描述符中的上一個節點號等于0、節點類型等于1、節點高度等于0、檔案數等于3以及保留字段等于0,且所述頭節點的頭檔案的根節點號大于0 且小于節點總數、未使用節點數小于節點總數、第一個葉節點號小于節點總數、最后一個葉節點號以及小于節點總數,則認為是所述頭節點。
            全文摘要
            本發明涉及一種HFS+文件系統數據恢復方法及裝置,方法包括以下步驟A、以扇區為單位對存儲介質中的文件進行掃描;B、從被掃描文件中查找卷頭,如果查找到卷頭,執行步驟C,否則執行步驟A,掃描下一扇區;C、從所查找到的卷頭所對應的目錄文件中查找頭節點,如果查找到頭節點,則執行步驟F,否則執行步驟D;D、判斷所查找的卷頭是否是備份卷頭,如果是備份卷頭,執行步驟E,否則執行步驟A,掃描下一扇區;E、定位頭節點,如果定位到頭節點,則執行步驟F,否則執行步驟A,掃描下一扇區;F、遍歷所有定位到的頭節點中所包含的B-樹,恢復文件數據。采用上述方法可以恢復存儲介質上曾經存在過的HFS+格式文件系統中的文件。
            文檔編號G06F17/30GK102289526SQ20111029336
            公開日2011年12月21日 申請日期2011年9月29日 優先權日2011年9月29日
            發明者范佳填 申請人:深圳市萬興軟件有限公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品