這款ts-rar合成jpg軟件可以幫助大家將RAR壓縮文件合成JGP圖片,當大家在百度貼吧想給別人發送壓縮包,但是又不能上傳時就可以用這個工具了,實用性還是很強的,有需要的朋友可以試試!
本質上它是利用文件格式設計而 hack,最重要的一個原理就是:RAR 的文件格式規定文件頭不必從 0 地址開始。RAR 程序解壓文件時,會尋找
0x52 0x61 0x72 0x21 0x1a 0x07 0x00
這樣一串字節,具體意義請見[1],前四個字節轉為 ASCII 碼恰好是「Rar!」。正常的 RAR 文件會把這串字節放在文件頭部,但 RAR 文件格式並沒有規定這是必須的(實際上,RAR 文件並不是開放的格式,怎麼才算「正確」的 RAR 文件並無公共可見的文檔),所以如果文件頭並沒有出現它,RAR 解壓程序就會持續搜尋這個字串,找到之後把後麵的部分當作 RAR 來處裏,前麵的部分就無視掉了。
反過來,JPG 格式規定文件起始兩個字節必須是 0xFF 0xD8,如果找不到這兩個字節,那麼就不認為它是 JPG 文件。
RAR 並不是唯一一種不規定文件格式必須起始於文件頭的格式。比如下麵這個文件同時是:
Windows 應用程序
Adobe PDF
Java JAR
HTML 網頁
為了提高可用性,jpg還rar這樣的軟件都會試圖在解碼時排除那些錯誤的字節,一般情況下,除非文件頭位置,其他位置的錯誤最多造成馬賽克而已。最簡單的是copy a.jpg+b.rar c.jpg 基本上不會影響兩個文件的打開。最早還有txt的玩法。推薦winhex深入研究。
用16進製編輯器打開這樣的文件,很明顯看到兩個文件的文件頭大寫JPEG和!RAR。
可以實現的主要原因有兩個,一是jpeg的頭格式裏麵保存了jpeg圖像的圖像的寬度和高度,而window圖片閱讀器正好是按照jpeg的格式處理的,活該它就這樣,讀取到jpeg文件結尾,rar的開頭後就停止了。
二是rar要支持用rar程序打開自解壓形式的壓縮文件。因為自解壓是一種可執行文件的形式,rar的實現方法就是把rar文件附到自解壓程序的尾部。於是在我們按照'用winrar打開'這種方式給它發命令時,它隻是把jpeg當作一個自解壓程序了!不信你去桌麵右鍵->'用winrar'一下jpg。
140.5M / 09-05
76.4M / 03-25
55M / 06-05
237.9M / 04-13
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
484.7M / 09-27
165.4M / 09-05
353.9M / 06-05
131.8M / 04-13
195.6M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
110.5M / 09-05
33.4M / 09-05
325.8M / 08-12
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
369M / 09-22
181.5M / 09-22
201.2M / 09-05
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
1.76G / 09-22
1.92G / 04-17
116.2M / 04-10
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
561.8M / 07-11
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06
132M / 07-06