當前位置:首頁 > 技術分享技術分享

EXCEL、WORD打不開或變成亂碼,是什麼原因?

發佈時機:  瀏覽:

 要了解EXCEL、WORD變成亂碼前,要先了解他們再16位元編碼下是什麼樣的形式,才能了解檔案哪位子出現錯誤,才可以做資料救援、修復等動作。

一般WORD、EXCEL看似是一個檔案,但算是一種複合文檔。什麼叫複合文檔?複合文檔是可以裝著圖形、數據、聲音、視屏、文字的檔案。

複合文檔建立的原理就像一個文建系統(EX.FAT和NTFS),他把檔案分成Streams,又把這些Streams存在不同的Storages庫,就像是一個迷你D槽,Streams就像文建、檔案,Storages是文件夾。

 

所有的Streams會分成更小的扇區(sectors),這些secots可能控制數據或用戶數據。Sectors的大小在头中确定,且每个Sectors的大小都相同。

 

從一個Sectors 簡單的以其在文件中的舉例,一個扇区的索引(由0開始)叫做扇区標示(SID:sector identifier)。

SID是一個有符号的32位的整型值。   如果一個SID的值非負,就表示真正存在的那個Sector;如果是負,就表示特殊的含义。

所有的Sectors是無順序,因此一個Streams順序的SID數组就稱為SID chain。一个SID chain總是以End Of Chain SID(-2)為结束標示。

 

例如一个流由4個Sector组成,其SID链为[1, 6, 3, 5, –2]。

複合文檔頭在檔的開始,且其大小必定為512位元組。

第一個Sector的開始相對檔的偏移量為512位元組。  

 

 複合文檔頭的結構如下:  

Offset  Size  Contents                     

0    8   複合文檔檔標識:D0H CFH 11H E0H A1H B1H 1AH E1H  

8   16   此檔的唯一標識(不重要, 可全部為0)  

24   2   檔案格式修訂號 (一般為003EH)  

26   2   檔案格式版本號(一般為0003H)   

28   2   位元組順序規則標識(見3.2)::FEH FFH = Little-Endian   FFH FEH = Big-Endian   

30   2   複合文檔中sector的大小(ssz),以2的冪形式存儲, sector實際大小為s_size   = 2ssz 位元組(一般為9即512位元組, 最小值為7即128位元組)   

32   2   short-sector的大小(見5.1),以2的冪形式存儲, short-sector實際大小為s_s_size = 2sssz 位元組(一般為6即64位元組,最大為sector的大小)  

34   10   Not used   

44   4   用於存放磁區配置表(SAT)的sector總數  

48   4   用於存放目錄流的第一個sector的SID (見6)  

52   4   Not used   

56   4   標準流的最小大小(一般為4096 bytes), 小於此值的流即為短流。 

60   4   用於存放短磁區配置表(SSAT)的第一個sector的SID (見5.2),   或為–2 (End Of Chain SID)如不存在。   

64   4   用於存放短磁區配置表(SSAT)的sector總數   

68   4   用於存放主磁區配置表(MSAT)的第一個sector的SID (見4.1),   或為–2 (End Of Chain SID) 若無附加的sectors。  

72   4   用於存放主磁區配置表(MSAT)的sector總數   

76   436  存放主磁區配置表(MSAT)的第一部分,包含109個SID。  

 

3.2 位元組順序(Byte Order)      檔資料的二進位存儲有兩種方法Little-Endian 和 Big-Endian,但實際應用中只使用Little-Endian方法即:低位元8位元組存放在位址的低位元,高位8位元組存放在位址的高位。  

例:一個32位元的整數13579BDFH(轉為十進位即324508639),以Little-Endian存放為DFH 9BH 57H13H,以Big-Endian 存放為 13H 57H 9BH DFH。(H下標表示十六進位)

 

 

當一個複合文檔頭毀損時,無法去對應數據扇區,救無法順利開啟,救援需要多重分析,有時需要花時間研究資料結構

創用 CC 授權條款
晟誼資料救援晟誼科技製作,以創用CC 姓名標示-相同方式分享 4.0 國際 授權條款釋出。
此作品衍生自http://www.data-tw.com/

站內搜尋
軟體下載

客户案例
返回首頁
晟誼科技企業社資料救援中心努力救回您的寶貴資料,購買各型硬碟資料救援機具,努力學習新的手機字庫晶痍資料讀取技術,分析RAID崩潰重組編碼,有效救回NAS裏的資料救援。請來電洽談0800600966
聯絡我們
    新竹服務站 地址: 新竹市金城一路11號1樓 電話:(03)5713211
    台中漢碩站 地址: 台中市公益路117-2號 電話: (04) 23015535
    台南服務站 地址:台南市北門路一段262號2樓(06)7030-501轉212
    中壢華冠站 地址: 桃園縣中壢市明德路15號 電話: (03) 2813885
    中壢華冠站 地址: 中壢市320中正路389號 168 櫃 (03) 281-3885#12 高雄建國店 地址: 高雄市建國二路168號(07)2380868
資料救援-晟誼科技 版權所有 Copyrigh@ 2003-2012 All Rights Reserved 客服熱線:0800-600-966 硬碟資料救援專家,全力為您提供資料救援服務!