NO IMAGE

圖片中隱藏資料是一件可繁可簡的事情。

★尾部追加法

  先介紹最簡單的一種方法。

◇技術原理

  顧名思義,”尾部追加法”就是把要隱藏的檔案追加到圖片尾部。這種方法不會破壞圖片原有的任何資料,因此,圖片看起來和原來一模一樣。

      JPEG和RAR的原理有一個共同點:軟體搜尋到檔案頭,然後開始處理,最後到檔案尾處結束。頭尾之外的內容全部無視。 這樣,把兩個檔案拼接在一起後,JPEG解壓到“JPEG檔案尾”(實際上是中間某處)就結束了,而RAR是直接搜尋這個“RAR檔案頭”(也有可能是RAR的檔案頭在檔案最後?待確認),對這個指示的部分進行處理,而無視了前面JPEG的內容。

◇隱藏資訊的步驟

  隱藏的過程很簡單,用 Windows 內建的檔案拷貝命令,即可完成。假設你的圖片檔案叫 A.JPG,需要隱藏的壓縮檔案叫 B.ZIP,那你只需要執行如下命令,就可以把兩個檔案合併成一個新檔案。
copy /b A.JPG B.zip C.JPG 
  執行完如上命令,即可得到一個新的圖片檔案 C.JPG。這個圖片檔案的大小是前兩者的總和。你可以用各種看圖工具來開啟 C.JPG,不會看到什麼異常。

◇提取資訊的步驟

  由於你追加的是壓縮檔案,提取的時候就簡單了——只要用壓縮工具開啟 C.JPG,就可以直接看到壓縮包裡面的內容了。

◇優點

1、
製作簡單,一條 copy 命令就可以搞定;如果隱藏的是壓縮檔案,提取的過程也很簡單。
2、
用看圖工具看生成的新檔案,還是跟原來一樣。
3、
隱藏的檔案,大小不受限制。比如,你可以在一張100K的圖片尾部,追加200K的隱藏資料。

◇缺點

1、
由於隱藏的檔案附加在尾部。當你把這個新的圖片檔案上傳到某些貼圖的網站,(假如這個網站對圖片格式的校驗比較嚴格)它有可能會發現圖片尾部有多餘的資料,並且會把這個多餘的資料丟棄掉。
2、
追加後,圖片的檔案尺寸變大了。如果你追加的檔案太大,容易被發現破綻。
比方說,一張640*480的 JPEG 圖片,大小竟然有好幾兆,對於有經驗的IT技術人員,一下子就會覺得有貓膩。

★內容覆蓋法

  說完尾部追加的辦法,再來介紹內容覆蓋的辦法。

◇技術原理

  通常,圖片檔案都有包含2部分:檔案頭和資料區。而”內容覆蓋法”,就是把要隱藏的檔案,直接覆蓋 到圖片檔案的資料區 的尾部 。比方說,某圖片有100K,其中檔案頭佔1K,那麼,資料區就是99K。也就是說,最多隻能隱藏99K的檔案。
  切記:覆蓋的時候,千萬不可破壞檔案頭 。檔案頭一旦破壞,這個圖片檔案就不再是一個合法的圖片檔案了。
  使用這種方法,對圖片檔案的格式,是有講究的——最好用 24位色的 BMP 格式 。一來,BMP 格式本身比較簡單,資料區隨便覆蓋,問題不大;二來,24位色的 BMP 相對其它的格式 BMP,檔案尺寸更大,可以隱藏更多內容。

◇提取資訊的步驟

  和前一種方法類似。如果你覆蓋的是壓縮檔案,提取的時候,可以用壓縮工具開啟圖片,就可以直接看到壓縮包裡面的內容了。

◇優點

1、
圖片的檔案尺寸沒變。
2、
雖然隱藏檔案覆蓋到資料區,破環了原影象的內容。但是從格式上來講,該圖片檔案的格式還是合法的。
因此,你可以把這種圖片上傳到各種貼圖的網站,技術上不會出問題。
3、
如果隱藏的是壓縮檔案,提取的過程很簡單。

◇缺點

1、
由於隱藏的檔案覆蓋了資料區,因此,圖片在顯示的時候,會有一塊區域變成灰濛濛的。
2、
隱藏檔案的大小,有一定的限制——不能大於圖片資料區的尺寸。
3、
對圖片格式有一定要求。此處再囉嗦一下,建議用 24位色的 BMP 格式。

★隱寫法

  最後,來介紹一種最複雜,但是也最隱蔽的方法——隱寫術。

◇技術原理

  此方法會涉及較深奧的技術領域,俺也就知道個大概。通俗地說:如果把圖片的某個畫素的顏色,進行微小的調整,肉眼是看不出來的;因此,專門的軟體,利用某些高深的演算法,就可以在變化的畫素中隱藏資訊。
  有興趣的同學,可以看”這裡 “的介紹;懂洋文的,還可以看更詳細的介紹,在”這裡 “。

◇隱藏息/提取資訊的步驟

  使用這種方法,你需要用專門的工具來進行資訊的隱藏和提取。在進行隱藏時,你除了指定圖片檔案和被隱藏的檔案,還需要設定一個密碼。隱寫工具會把你的隱藏檔案先加密,然後再進行隱寫;提取的時候,需要用同一款隱寫工具進行提取,並輸入同樣的密碼,才能提取出來。
  假如圖片檔案落入攻擊者手中,他必須同時知道2個資訊(你用哪款隱寫工具,你隱寫時設定的密碼),才有可能破解出隱含的資訊。因此,安全性很高。

◇相關工具

  下面介紹幾款工具,大夥兒可以根據自己喜好,挑選一個試試看。

名稱官網介面型別
Silent Eye這裡圖形介面開源軟體
Steg Hide這裡命令列介面開源軟體
Ultima Steganography這裡圖形介面商業軟體

◇優點

1、
隱蔽性非常好。圖片看上去幾乎沒變(其實是有極其輕微的變化,但是肉眼看不出)。並且,圖片檔案的大小也沒變化。
即使是專業人士,也很難判斷一張圖片是否包含了隱寫術的資料。

◇缺點

1、
隱藏資訊和提取資訊比較麻煩,需要使用專門的工具。
2、
只能隱藏較少的資訊。
此方法能隱藏的資訊量,和圖片面積有關,和圖片格式無關。比如一張1600*1200尺寸的,無論哪種格式,大約只能隱藏幾KB 的資料。

★結尾

  剛才介紹的幾個招數,除了可以用於圖片檔案,也可以用在其它的多媒體檔案中(比如:音訊檔案、視訊檔案)。有興趣的網友,可以自個兒研究一下。

補充:

png以及壓縮的bmp格式都有 調色盤(包含圖片中必需的色彩) 圖片資料(調色盤索引),png還有校驗碼等,如果採用隱寫法的話,相對來說寫程式碼要複雜一些。