Wednesday, July 06, 2005

JPG? it's compressed file!

JPG可以解壓縮?說穿了,這只是一種掩人耳目的隱藏檔案方式罷了。

原理很簡單:就只是把JPG檔加在一般壓縮檔(ZIP or RAR)的前面,然後包成一個Binary File。一般常用壓縮格式都有固定的開始字串,如ZIP是0x50 0x4B 0x03 0x04,而RAR則是0x52 0x61 0x72 0x21 0x1A 0x07 0x00,而常用的解壓縮程式,如WinRAR,會忽略我們加在檔頭的JPG檔,直接去尋找這類的string來起始解壓縮。所以,當你將這類動過手腳的檔案用諸如ACDSee等這類的看圖程式來開啟,你會看到圖檔;反之,若用WinRAR,則會發現另有玄機。

原理了解了,那該如何製作這類檔案呢?需要特殊的程式嗎?一點也不麻煩,假如你是使用微軟系的OS,直接使用Command Mode下的copy指令就可以達成這樣的目的:

copy /b jpgFile.jpg+compressedFile.zip jpgFakeFile.jpg

夠簡單吧!

No comments: