• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Thumbs.db文件的數(shù)據(jù)恢復(fù)技術(shù)研究與開發(fā)

      2011-07-13 06:02:04賈昌海
      電子設(shè)計工程 2011年17期
      關(guān)鍵詞:縮略圖文件名數(shù)據(jù)流

      杜 江,賈昌海

      (1.重慶郵電大學(xué) 計算機(jī)學(xué)院,重慶 400039;2.重慶郵電大學(xué) 通信學(xué)院,重慶 400039)

      隨著科技高速發(fā)展,以電子數(shù)據(jù)為表現(xiàn)形式的犯罪行為日益增多。計算機(jī)證據(jù)作為一種新的證據(jù)形式,逐漸成為新的訴訟證據(jù)之一。因此計算機(jī)式的欺詐、侵犯、竊密、惡意篡改等種種高科技犯取證正逐漸引起人們研究與關(guān)注的焦點[1]。

      在應(yīng)用軟件層中,有許多應(yīng)用程序為了緩存或者管理某些數(shù)據(jù),通常會把這些數(shù)據(jù)寫到指定的特殊文件格式中,即使這些數(shù)據(jù)被用戶刪除了,這些特殊文件中仍保留有這些數(shù)據(jù)。應(yīng)用軟件層的數(shù)據(jù)恢復(fù),就是對這些特殊格式的文件做分析,提取文件中存儲的內(nèi)容,重現(xiàn)已被用戶刪除的數(shù)據(jù)。

      在Windows系統(tǒng)下,index.dat文件和Thumbs.db文件是兩個典型。Windows系統(tǒng)中會存在3個index.dat文件。它們分別用來保存IE上網(wǎng)的cookies、臨時文件和上網(wǎng)歷史的索引信息。Thumbs.db文件通常存在于存儲有圖片文件的路徑下。它記錄了當(dāng)前路徑下所有圖片的縮略圖,以及每張圖片的文件名,最后修改時間等信息。即使當(dāng)前路徑下所有圖片文件已刪除,Thumbs.db文件仍然保留這些信息。對Thumbs.db文件格式的分析以及對縮略圖等信息的提取將為公安機(jī)關(guān)獲取犯罪證據(jù),有效打擊犯罪提供了技術(shù)支持[2-4]。

      本文圍繞應(yīng)用軟件層數(shù)據(jù)恢復(fù)技術(shù),以Windows操作系統(tǒng)的Thumbs.db文件為例,對系統(tǒng)文件Thumbs.db的作用及文件結(jié)構(gòu)做詳細(xì)分析,并將實現(xiàn)Thumbs.db文件分析軟件,能夠方便瀏覽、保存Thumbs.db文件中存儲的縮略圖等信息,借此驗證對Thumbs.db文件結(jié)構(gòu)分析的正確性,也進(jìn)一步展現(xiàn)應(yīng)用軟件層的數(shù)據(jù)恢復(fù)技術(shù)對取證帶來的積極意義。

      1 Thumbs.db文件的作用

      在存儲圖片的路徑下,只要以縮略圖的形式查看過圖片,都會有一個很特殊的文件Thumbs.db。它是被隱藏的受保護(hù)的操作系統(tǒng)文件,一般情況下是看不到的。

      Thumbs.db文件是為了提高文件夾在縮略圖查看方式下的響應(yīng)速度而對當(dāng)前文件夾下的圖像文件建立的緩存,可緩存圖像文件的格式包括 jpeg、bmp、gif、tif、pdf和 htm。 Thumbs.db文件保存在每個包含圖片的目錄中,里面保存了這個目錄下所有圖像文件的縮略圖,縮略圖格式為jpeg,相當(dāng)于一個縮略圖數(shù)據(jù)庫。當(dāng)以縮略圖的形式瀏覽圖片時,就會在當(dāng)前目錄下生成一個Thumbs.db文件。在一般情況下,當(dāng)圖片從目錄中被刪除后,該圖片在Thumbs.db文件中保存的縮略圖仍然存在。

      1.1 結(jié)構(gòu)化存儲結(jié)構(gòu)

      Thumbs.db文件采用的是結(jié)構(gòu)化存儲(Structured Storage)。所謂結(jié)構(gòu)化存儲,就是在文件系統(tǒng)基礎(chǔ)之上,又建立了一個存儲系統(tǒng)。

      文件系統(tǒng)可以看成是一棵樹,樹根下面的每個節(jié)點,可以是目錄,也可以是文件。目錄還可以有子節(jié)點,而文件一定是葉子節(jié)點。結(jié)構(gòu)化存儲和文件存儲極其類似,它實際就是把樹狀文件系統(tǒng)的原理應(yīng)用到單個文件中,使得單個文件也能像文件系統(tǒng)一樣包含“子目錄”,“子目錄”還可以包含更深層次的“子目錄”,各個“目錄”可以含多個“文件”,把原來需要多個文件存儲的內(nèi)容按樹狀結(jié)構(gòu)和層次保存到一個文件中去[5]。在結(jié)構(gòu)化存儲文件中,上述的“目錄”和“文件”分別稱作倉庫(Storage)和數(shù)據(jù)流(Stream),結(jié)構(gòu)關(guān)系如圖1所示。

      圖1 Storage和Stream的關(guān)系Fig.1 Storage and Stream’s relations

      結(jié)構(gòu)化存儲有很多優(yōu)點。1)如同磁盤存儲機(jī)制一樣,這種存儲方法可以極大程度的提高磁盤空間使用效率;2)這種存儲機(jī)制便于在單個文件中就能明確內(nèi)容的歸屬關(guān)系和分類關(guān)系;3)在軟件分發(fā)過程中不需要帶一大批的分發(fā)文件,就可以把數(shù)據(jù)文件歸結(jié)到一個文件中去[6]。

      Thumbs.db文件的訪問 API(Application Programming Interface,應(yīng)用程序編程接口)沒有被公開,但是可以通過微軟提供的結(jié)構(gòu)化存儲文件讀寫API對Thumbs.db文件結(jié)構(gòu)做進(jìn)一步的分析。

      Thumbs.db文件中有一個名稱為Catalog的數(shù)據(jù)流,它保存了整個Thumbs.db文件里面緩存的所有圖片的屬性信息。其余的流均以數(shù)字命名,分別對應(yīng)一個縮略圖文件數(shù)據(jù),姑且把這種以數(shù)字命名的數(shù)據(jù)流稱作縮略圖數(shù)據(jù)流。下面以一個具體的Thumbs.db文件為例,對它的兩種數(shù)據(jù)流的結(jié)構(gòu)做詳細(xì)地分析。

      1.2 Catalog數(shù)據(jù)流

      Catalog數(shù)據(jù)流包含了兩部分內(nèi)容,第一部分定義為Header,第二部分定義為 Items。用 DocFile Viewer打開Catalog數(shù)據(jù)流,如圖2所示。

      漢語拼音與英文混用這種翻譯錯誤為數(shù)不少,即翻譯內(nèi)容一些是漢語拼音,一些是英文,使人不知所云。例如,在楚雄的某公交車宣傳畫上,“曙光醫(yī)院”被譯為“Shu Light Hospital”,可以改為“Shuguang Hospital”;彝人古鎮(zhèn)中的“茶花溪”被譯為“Camellia Xi”,建議改為“Camellia Stream”;“環(huán)城西路”被譯為“Huan Cheng Xi Road”,應(yīng)改為“West Ring Road”。

      Catalog數(shù)據(jù)流的格式如表1所示。

      Header偏移0H~3H通常是固定的4個字節(jié) 10H 00H 07H 00H(從低位到高位),該數(shù)據(jù)對提取圖片信息無意義;偏移4H~7H表示Thumbs.db文件緩存的圖片個數(shù);偏移8H~BH和CH~FH分別表示緩存的縮略圖寬的最大值和高的最大值。Items是一個列表,列表的每個元素item指明了一個被緩存的圖片的相關(guān)屬性。item偏移0H~3H表示該item占用的字節(jié)數(shù)(假設(shè)為N);偏移4H~7H表示縮略圖的ID號;偏移8H~FH表示原圖片文件的最后修改時間;緊接著的數(shù)據(jù)表示的是原圖片文件的文件名的UNICODE碼,以雙字節(jié)0x0000結(jié)尾,占用N-18個字節(jié);最后就是表示該item的結(jié)尾標(biāo)志0x0000,占用兩個字節(jié)。

      圖2 Catalog數(shù)據(jù)流Fig.2 Catalog stream

      表1 Catalog數(shù)據(jù)流的結(jié)構(gòu)Tab.1 Structure of Catalog Stream

      1.3 縮略圖數(shù)據(jù)流

      縮略圖數(shù)據(jù)流,是以他們對應(yīng)的縮略圖的ID號的十進(jìn)制數(shù)反序命名的,這些數(shù)據(jù)流格式都是相同的,偏移0H~7H通常是固定的8個字節(jié)0CH 00H 00H 00H 01H 00H 00H 00H(從低位到高位),該數(shù)據(jù)對提取圖片信息無意義;偏移8H~BH表示該縮略圖文件數(shù)據(jù)占用的字節(jié)數(shù);其余數(shù)據(jù)便是該縮略圖文件的數(shù)據(jù)內(nèi)容。用DocFile Viewer打開縮略圖數(shù)據(jù)流,如圖3所示。

      圖3 縮略圖數(shù)據(jù)流Fig.3 Thumbnails stream

      根據(jù)上面的分析,可將縮略圖數(shù)據(jù)流的格式歸納如下,如表2所示。

      表2 縮略圖數(shù)據(jù)流的結(jié)構(gòu)Tab.2 Structure of thumbnail stream

      由此可見,只要通過調(diào)用微軟提供的結(jié)構(gòu)化存儲文件讀寫API,借助上面分析得出的兩種數(shù)據(jù)流的結(jié)構(gòu),就很容易提取出Thumbs.db文件緩存的所有圖片的縮略圖信息及其他屬性信息。

      2 Thumbs.db文件分析模塊的設(shè)計與實現(xiàn)

      文件加載模塊,首先要判斷被打開的文件的合法性,比如文件是否存在,是否是結(jié)構(gòu)化存儲文件等。合法性檢驗通過并成功打開之后,讀取Catalog數(shù)據(jù)流,根據(jù)Catalog數(shù)據(jù)流的格式,獲取該Thumbs.db文件緩存的圖片總數(shù),并遍歷所有item結(jié)果,獲取每張縮略圖對應(yīng)的ID號、對應(yīng)的原圖片的文件名、對應(yīng)的原圖片的最后修改時間。根據(jù)縮略圖ID號,可以很容易的找到對應(yīng)的縮略圖數(shù)據(jù)流。將這些信息存儲在一個item數(shù)組中。數(shù)組的大小自然是緩存的圖片的總張數(shù)。

      信息顯示模塊,即是通過文件加載模塊處理后的結(jié)果,把縮略圖以及縮略圖對應(yīng)的原圖片的相關(guān)屬性顯示到界面上。

      縮略圖保存模塊,也是通過文件加載模塊處理后的結(jié)果,并由用戶指定要保存的縮略圖,從相應(yīng)的縮略圖數(shù)據(jù)流中讀取數(shù)據(jù),寫入新的文件中,并以原文件名命名,并將新文件的最后修改時間設(shè)置為原文件的最后修改時間。

      程序中涉及兩個重要結(jié)構(gòu)體,即Catalog數(shù)據(jù)流的頭結(jié)構(gòu),和Catalog數(shù)據(jù)流的Item結(jié)構(gòu)。

      通過CatalogHeader的thumbCount成員可以獲取到縮略圖的個數(shù),通過CatalogItem可以獲取到每個縮略圖的具體信息。做為文件加載模塊的產(chǎn)物,需要定義一個全局的CatalogItem數(shù)組,用來記錄Thumbs.db文件中每張縮略圖的信息,信息顯示模塊和縮略圖保存模塊就可以很方便地根據(jù)這個CatalogItem數(shù)組顯示信息和保存圖片。

      3 結(jié)束語

      隨著計算機(jī)取證技術(shù)的發(fā)展,數(shù)據(jù)恢復(fù)技術(shù)作為計算機(jī)取證技術(shù)中的核心技術(shù),正在成為計算機(jī)取證領(lǐng)域重要的研究熱點。為了實現(xiàn)更徹底、更全面的恢復(fù)被刪除的數(shù)據(jù),本文提出了基于應(yīng)用軟件層的數(shù)據(jù)恢復(fù)技術(shù),闡述了應(yīng)用軟件層數(shù)據(jù)恢復(fù)技術(shù)的意義及研究內(nèi)容。并開發(fā)出Thumbs.db文件分析軟件,實現(xiàn)了以下主要功能:1)解析指定的Thumbs.db文件,顯示文件中存儲的現(xiàn)存的或已刪除的圖片的縮略圖及文件名、最后修改時間等信息。2)可將縮略圖另存為.jpg格式的文件。文件名以原文件的文件名命名,并將最后修改時間設(shè)置為原文件的最后修改時間,并將文件設(shè)置為只讀。

      [1]孫波.計算機(jī)取證方法關(guān)鍵問題研究[D].北京:中國科學(xué)院軟件研究所,2004.

      [2]Dixon PD.An overview of computer forensics[J].IEEE Potentials,2005:7-10.

      [3]周琳娜,王東明.數(shù)字圖像的取證技術(shù)[M].北京:北京郵電大學(xué)出版社,2008:10-15.

      [4]蔣燁.計算機(jī)主機(jī)隱秘信息取證技術(shù)的研究[D].上海:上海交通大學(xué),2008.

      [5]劉乃琦,郭建東.系統(tǒng)與數(shù)據(jù)恢復(fù)技術(shù)[M].成都:電子科技大學(xué)出版社,2008:126-173.

      [6]龔勇.Windows下數(shù)據(jù)恢復(fù)的研究 [D].成都:電子科技大學(xué),2008:73-95.

      猜你喜歡
      縮略圖文件名數(shù)據(jù)流
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      右鍵調(diào)用多重更名更方便
      電腦愛好者(2019年9期)2019-10-30 03:43:29
      開啟Office文檔縮略圖預(yù)覽
      Excel輕松提取文件名
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      北醫(yī)三院 數(shù)據(jù)流疏通就診量
      快速修改IE11選項卡下的網(wǎng)站縮略圖
      電腦迷(2014年4期)2014-04-29 16:46:56
      不讓長文件名成為“絆腳石”
      電腦迷(2014年8期)2014-04-29 07:37:40
      在TC界面以縮略圖查看圖像文件
      電腦迷(2012年22期)2012-04-29 20:30:54
      望都县| 晋城| 会东县| 开江县| 买车| 深州市| 高唐县| 德清县| 望奎县| 宝清县| 浦江县| 蚌埠市| 高密市| 闽侯县| 海盐县| 互助| 南宁市| 兴宁市| 临颍县| 安达市| 方山县| 海兴县| 沙田区| 犍为县| 博爱县| 东丰县| 西藏| 炉霍县| 石台县| 酉阳| 江安县| 垦利县| 双江| 杭锦旗| 治县。| 阿拉善右旗| 沙雅县| 穆棱市| 哈尔滨市| 大英县| 平乡县|