1. 程式人生 > >圖片隱寫術(利用圖片隱藏壓縮檔案)

圖片隱寫術(利用圖片隱藏壓縮檔案)

    想象一個場景,下載了一個看似普通的圖片,然後修改一下字尾名為rar再解壓就發現隱藏於其中的檔案

    如何將一個壓縮檔案隱藏於圖片之中呢,先來看看圖片和壓縮檔案的結構,我們都知道檔案在計算機裡都是以二進位制的形式存在的,所以我們要直接檢視檔案的二進位制資料,這裡我用的工具是010Editor,開啟010Editor


隨便拖入幾個jpg格式的圖片,可以看到如下介面


    可以看到左邊是16進位制資料(不要問為什麼不直接是二進位制,好吧,這個是因為二進位制的 0000 0000 到 1111 1111 可以用16進位制的 00 到 FF 表示,如此表示更方便檢視),然後右邊看起來是一堆亂碼的則是這些16進位制資料所代表的ASCLL字元,jpg圖片完整的結構不作討論,這裡我們只需要看這段16進位制的首尾,你會發現,所有jpg格式的圖片都是以 FF D8 開頭,FF D9 結尾,如此便可猜想圖片檢視器都是找到 FF D8 和 FF D9 然後顯示其中的圖片內容,那麼在 FF D9 後面隨意新增內容是不是也不會影響圖片的顯示呢?答案是肯定的,這裡可以試一試,在尾部隨意打段資料(我這裡寫了個 hello world ),然後儲存,你會發現對圖片的顯示沒有任何影響。


    然後我們再來看rar的結構


    同樣會發現,rar的首末分別是 52 61 72 21 和 3D 7B 00 40 07 00,同理,解壓的時候也會找這兩段中間的資料,所以在3D 7B 00 40 07 00 之後隨意新增內容是不會影響rar的解壓的,想必你已經知道該怎樣隱藏檔案了。

接下來就把這個rar隱藏到圖片裡,同時拖入一張jpg和一個rar,然後把rar裡的內容直接複製貼上到jpg後面,儲存



    至此就完成了一個簡單的檔案的隱寫,要取出rar的話把檔案字尾名改成rar再解壓即可,還可以自行看看png,bmp,zip等檔案的結構,接下來就可以自己發揮想象嘗試在圖片裡隱藏任何檔案啦


附上010editor下載地址點選開啟連結