亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        復合文檔結構分析及文件頭重建

        2017-12-20 03:35:40
        山西電子技術 2017年6期
        關鍵詞:扇區(qū)字節(jié)倉庫

        王 赟

        (山西職業(yè)技術學院,山西 太原 030006)

        復合文檔結構分析及文件頭重建

        王 赟

        (山西職業(yè)技術學院,山西 太原 030006)

        復合文檔的數(shù)據(jù)恢復已成為現(xiàn)在數(shù)據(jù)恢復領域中一項重要內容,尤其以文件頭故障最為普遍。本文通過研究復合文檔的二進制結構,解決由于文件頭被破壞導致的文檔無法正常打開、無法使用等數(shù)據(jù)丟失問題,該方法在實際解決此類問題中效果良好,具有普遍應用價值。

        復合文檔;文件頭;數(shù)據(jù)恢復

        復合文檔是一種多元化的文檔,不僅包含傳統(tǒng)意義上的文本,還可包括聲音、圖片、表格、影音資料及其他內容[1]。它的廣泛應用極大地滿足了人們現(xiàn)代化辦公的需求。同時復合文檔故障及數(shù)據(jù)恢復成為普遍現(xiàn)象,也已逐漸成為數(shù)據(jù)恢復領域的一項重要內容。復合文檔故障中多數(shù)以文件頭故障最為主。解決復合文檔此類故障對復合文檔的數(shù)據(jù)恢復有著重要意義。

        1 復合文檔結構分析

        1.1 倉庫與流

        復合文檔的原理其實并不復雜,它與傳統(tǒng)的FAT 32文件存儲系統(tǒng)相似[2]。首先,它將數(shù)據(jù)信息劃分為許多小子集,即流(Streams)。而系統(tǒng)中的倉庫(Storages)就是儲存這些數(shù)據(jù)流的場所。在命名規(guī)則上,文件系統(tǒng)的命名規(guī)則與上述的流或倉庫類似,如果流的名字相同,那么只能存儲在不同的倉庫下。對于每一個復合文檔,都會有一個存儲的根倉庫(root storage)[1]。

        1.2 扇區(qū)與扇區(qū)鏈

        1.2.1 扇區(qū)與扇區(qū)標識

        如果將所有的數(shù)據(jù)信息子集(流)進一步劃分,可劃分為更小的子集,這些小的數(shù)據(jù)塊叫做數(shù)據(jù)的扇區(qū)(sectors)[3]。在這些數(shù)據(jù)扇區(qū)中可能涵蓋用戶的數(shù)據(jù)和控制數(shù)據(jù)信息。

        1.2.2 扇區(qū)鏈與扇區(qū)標識鏈

        1.3 復合文檔頭

        1.3.1 復合文檔頭的內容

        復合文檔頭的大小是512字節(jié),一般在文檔頭的位置。該結構如圖1所示。

        圖1 復合文檔頭結構

        1.3.2 字節(jié)順序(Byte Order)

        文件數(shù)據(jù)的存儲方式一般為二進制存儲,目前主流方法主要有兩種,即Little-Endian和Big-Endian[5]。實際應用過程中一般僅采用前者:即依據(jù)地址的高低位分別存放文件的低位8字節(jié)和高位8字節(jié)。

        1.3.3 扇區(qū)偏移量

        根據(jù)復合文檔頭的信息可計算扇區(qū)偏移量(sector offset)[3],計算方法為sec_pos(SID)=512+SID·s_size=512+ SID·2 ssz。

        1.4 扇區(qū)配置

        扇區(qū)配置中最主要的內容是主扇區(qū)配置表(MSAT:master sector allocation table)[3]。主扇區(qū)配置表其實就是記錄所有用于存放扇區(qū)的信息列表,其本質上是一個SID數(shù)組。一般會在復合文檔頭指明MSAT的大小,又叫SID個數(shù),數(shù)值是等于存放扇區(qū)配置表的扇區(qū)數(shù)。扇區(qū)配置表(SAT:sector allocation table)主要內容包括內部控制流以及用戶流,特別需要注意的是,這個用戶流不包括短流,本質上SAT也是一個SID數(shù)組。一般SAT的大小與文檔中扇區(qū)的個數(shù)所一致。

        1.5 短流

        1.5.1 短流存放流

        ?Katharina Boele - Woelki,Bente Braat and Ian Curry - Sumner(ed.),European Family Law in Action:Parental Responsibilities,Intersentia Publishers,2005,p.351.

        當一個流的大小小于指定的值,常被叫做短流[1]。其實直接使用扇區(qū)存放數(shù)據(jù)的并不是短流,而是借由一種特殊的形式,即通過短流存放流(short-stream container stream)來存放數(shù)據(jù)[6]。該形式的存放流象與一般的用戶流類似:首先使用第一個扇區(qū),該扇區(qū)隸屬于目錄中的根倉庫入口(root storage entry)。接下來該數(shù)據(jù)流將占用的扇區(qū)分成不同的短扇區(qū),進一步存儲短流。短流存放流的SID鏈一般從扇區(qū)配置表中獲取。計算公式為:short_s_pos(SID) = SID·short_s_size = SID·2 sssz[1]。

        1.5.2 短扇區(qū)配置表

        類似于主扇區(qū)配置表,所有短流的SID鏈構成了一個SID數(shù)組,這個數(shù)組就是短扇區(qū)配置表(SSAT:short-sector allocation table)[5]。一般用于存放短扇區(qū)配置表的第一個扇區(qū)的SID在復合文件頭中指定,剩下的SID鏈均來源于SAT。

        短扇區(qū)配置表的用法與扇區(qū)配置表是類似的,主要區(qū)別在于前者的SID鏈使用的是短扇區(qū)(short-sector)[3]。

        1.6 目錄結構

        目錄(directory)的構成部分是所有的目錄入口(directory entry),本質上是一種內部控制流。復合文檔的數(shù)據(jù)流和存儲的storage關聯(lián)著這些目錄入口。

        2 文件頭重建

        復合文檔的文件頭就好比文件系統(tǒng)的DBR。DBR損壞分區(qū)無法打開,但真實數(shù)據(jù)還仍然存在,復合文檔也是這樣。簡單的復合文檔結構只有少量的SID鏈,并且連續(xù),修復難度也較低。復雜點的可能會有多個不連續(xù)的SID鏈,或者多個MSAT表,只要我們找到它的規(guī)律,順著它的SID鏈推斷下去就可以重建它的索引。下面我們以案例.doc文檔為例來簡述復合文檔頭重建過程。首先我們來解析案例文檔的文件頭(如圖2)。用winhex打開后將頁轉換成扇區(qū)進行分析,發(fā)現(xiàn)復合文檔的0號扇區(qū)就是第一個MSAT表,它除了記錄SAT項還記錄了SSAT的大小開始、目錄區(qū)域的開始以及指向下一個MSAT的索引。而之后的MSAT就只負責記錄SAT項了。

        圖2 案例.DOC文件頭

        其中文件頭的前兩行半是微軟設置的固定值。具體偏移量的含義見表1。

        表1 復合文檔頭偏移位置解析

        我們把這個文檔的文件頭清空,復制一個新文件頭過來然后手動填寫文件頭,主要涉及修改與計算幾個關鍵值的有:

        1)SAT配置表的個數(shù);2)目錄的開始位置;3)SSAT的開始和大??;4)MSAT的開始和大??;5)依次寫SID的占用情況。

        首先寫目錄的開始位置,向下搜索(ROOT)52 00 6F 00,偏移位置512=0。

        如圖3所示,在47扇區(qū)找到了目錄的位置。

        圖3 目錄區(qū)

        接著找短流(SSAT),短流可以從根目錄中直接找到,如圖3中的31 00 00 00,就是短流的開始了。大小就是后面的80 00 00 00,等于128/64=2,只有兩項就是占用一個扇區(qū)。大小就是01了。然后我們再找標準流(SAT)搜索01 00 00 00,偏移位置512=0,向下搜索,在46扇區(qū)找到了標準扇區(qū)配置表。如圖4所示??吹竭@個扇區(qū)中有一個FD FF FF FF,可以確定這就是SAT了。在復合文檔中,-1,-2,-3,-4都有特定的含義。 如表2。

        表2 特定值的含義

        圖4 SAT配置表

        最后一項SAT配置表中會有FD FF FF FF的值,表示這是一個SAT配置表的結束。并且有幾個FD FF FF FF就代表有幾個SAT配置表。在最后一個FD FF FF FF的后面就是根目錄的位置(此處根目錄就是2F 00 00 00)。本案例中只有一個FD FF FF FF,那就是只有一項SAT配置表。0號扇區(qū)可以存放109個SAT配置表(也就是SID),現(xiàn)在只有一個足夠存放,就不需要再分配MSAT了,所以MSAT的開始FE FF FF FF,大小00 00 00 00。

        關鍵值都計算出來后總結一下算好的值,我們就可以手動填寫文件頭信息。

        1)SAT配置表的個數(shù)(1);2)目錄的開始位置(47-1=46);3)SSAT的開始(49-1=48)和大小(1);4)MSAT的開始(MSAT主扇區(qū)配置表只有一個寫FEFFFFFF)和大小(0);5)依次寫SID的占用情況(SAT配置表只有一個,在46扇區(qū)填寫46-1=45),修復后文件頭如圖5所示,保存文件,修復完成。

        圖5 修復后文件頭

        3 結論

        本文通過分析復合文檔的二進制結構,提出了手動計算與修復文件頭的方法,此方法對解決由文件頭被破壞導致的文檔無法正常打開、無法使用等問題有效果良好,具有普遍應用價值。

        [1] 沙晶,錢偉.微軟復合文檔結構分析及文件恢復[J].中國司法鑒定,2011(6):59-61.

        [2] 楊德明.FAT32下有效數(shù)據(jù)快速恢復方法[J].計算機應用,2012,32(9):2500-2503.

        [3] RENTZ DANIEL. Microsoft Compound Document File Format[M].2004.

        [4] 王維雄.基于介質存儲結構的數(shù)據(jù)恢復技術研究[D].西安:西安電子科技大學,2010.

        [5] 劉偉.數(shù)據(jù)恢復技術深度揭秘[M].北京:電子工業(yè)出版社,2010.

        [6] 趙振洲,趙永峰.Word文檔結構分析及恢復[J].安徽電子信息職業(yè)技術學院學報,2013(2):1-3.

        CompositeDocumentStructureAnalysisandFileHeadReconstruction

        Wang Yun

        (ShanxiPolytechnicCollege,TaiyuanShanxi030006,China)

        Data recovery of complex documents has become an important content in the field of data recovery, especially the file head fault is the most common. This paper, through the binary structures of composite document, solves the problem of data loss, such as the document cannot be opened normally and the data cannot be used because of the destruction of the file head. The method to solve the problem in the actual effect is good and has the widespread application value.

        compound document;file header;data recovery

        2017-10-25

        王 赟(1982- ),男,山西太原人,講師,碩士,主要研究方向:計算機應用、數(shù)據(jù)安全及數(shù)據(jù)恢復。

        1674- 4578(2017)06- 0041- 03

        TP309.3

        A

        猜你喜歡
        扇區(qū)字節(jié)倉庫
        倉庫里的小偷
        分階段調整增加扇區(qū)通行能力策略
        南北橋(2022年2期)2022-05-31 04:28:07
        No.8 字節(jié)跳動將推出獨立出口電商APP
        填滿倉庫的方法
        四行倉庫的悲壯往事
        學生天地(2020年34期)2020-06-09 05:50:40
        No.10 “字節(jié)跳動手機”要來了?
        U盤故障排除經驗談
        簡談MC7字節(jié)碼
        基于貝葉斯估計的短時空域扇區(qū)交通流量預測
        重建分區(qū)表與FAT32_DBR研究與實現(xiàn)
        精品久久久无码中字| 五月丁香六月综合缴清无码| 亚洲国产亚综合在线区| 久人人爽人人爽人人片av| 无码av免费精品一区二区三区| 99久热re在线精品99 6热视频| 亚洲国产午夜精品乱码| 熟妇高潮一区二区三区| 中文字幕影片免费在线观看| 国内精品91久久久久| 国产一区二区三区porn| 日本人妻精品有码字幕| 色偷偷色噜噜狠狠网站30根| 成年女人色毛片| 久久人人爽人人爽人人片av麻烦| 丝袜国产高跟亚洲精品91| 久国产精品久久精品国产四虎| 97激情在线视频五月天视频| 亚洲天堂av一区二区| 国产精品美女久久久久av福利| 97久久精品午夜一区二区| 国产精品精品| 网友自拍人妻一区二区三区三州| 日本女优禁断视频中文字幕| 九一免费一区二区三区偷拍视频| 午夜时刻免费入口| 樱花草在线播放免费中文| 日韩欧美第一页| 国产自产自现在线视频地址| 国内免费自拍9偷1拍| 人妻体内射精一区二区三区 | 成人高清在线播放视频| 久久久久高潮综合影院| 男女后进式猛烈xx00动态图片| 欧美精品久久久久久久自慰| 国产成人av在线影院无毒| 俺来也三区四区高清视频在线观看| 美女扒开腿露内裤免费看| 不卡av电影在线| 内射中出无码护士在线| 波多野结衣一区二区三区视频|