亚洲免费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)
        一区欧美在线动漫| 挺进朋友人妻雪白的身体韩国电影 | 国产成人无码精品久久久免费| 国产精品9999久久久久| 午夜短视频日韩免费| 亚洲一区二区不卡日韩| 日韩精品在线视频一二三| 亚洲春色在线视频| 欧美成aⅴ人高清免费| 亚洲国产精品色婷婷久久| 亚洲av不卡免费在线| 国产免费人成视频在线观看| 亚洲欧美日韩综合在线观看| 一区二区三区四区日韩亚洲| 国产一区二区视频在线免费观看| 2018国产精华国产精品| 精品国产亚洲一区二区在线3d| 日本在线播放不卡免费一区二区| 国产黄色av一区二区三区| 少妇愉情理伦片丰满丰满午夜| 国产91 对白在线播放九色| 亚洲福利视频一区二区三区| 亚洲第一狼人天堂网亚洲av| 亚洲国产综合精品 在线 一区 | 久久国产精品国语对白| 无码人妻一区二区三区在线 | 日韩一区二区av伦理| 人妻少妇久久中文字幕| 亚洲一区二区观看播放| 欧洲一级无码AV毛片免费| 精品一区二区在线观看免费视频| 美女张开腿让男人桶爽| 亚洲国产成人AV人片久久网站| 少妇人妻中文字幕在线| 色婷婷一区二区三区四区成人网| 国产成a人亚洲精v品无码性色| 色窝窝手在线视频| 狼人伊人影院在线观看国产| 欧美精品v国产精品v日韩精品| 国产欧美日韩在线观看一区二区三区| 国产我不卡在线观看免费|