如果你喜歡逛論壇,或是想將一個(gè)小文件傳給別人時(shí),有很多地方是限制了文件類型的,不過一盤上傳圖片是沒問題的,買球平臺ab82net 就是一個(gè)將rar文件轉(zhuǎn)換成jpg圖片格式的文件的工具。
買球平臺ab82net 有什么用將一個(gè)看似一張為JPG格式的文件改名為rar,就可以用winrar來打開真正的內(nèi)容了,這個(gè)文件是用來把壓縮文件合并到JPG圖片中的。
這種「同時(shí)是多種格式」的文件叫做 polyglot,本來指同時(shí)能被多種編程語言編譯的源代碼。本質(zhì)上它是利用文件格式設(shè)計(jì)而 hack,最重要的一個(gè)原理就是:RAR 的文件格式規(guī)定文件頭不必從 0 地址開始。RAR 程序解壓文件時(shí),會尋找0x52 0x61 0x72 0x21 0x1a 0x07 0x00這樣一串字節(jié),具體意義請見[1],前四個(gè)字節(jié)轉(zhuǎn)為 ASCII 碼恰好是「Rar!」。正常的 RAR 文件會把這串字節(jié)放在文件頭部,但 RAR 文件格式并沒有規(guī)定這是必須的(實(shí)際上,RAR 文件并不是開放的格式,怎么才算「正確」的 RAR 文件并無公共可見的文檔),所以如果文件頭并沒有出現(xiàn)它,RAR 解壓程序就會持續(xù)搜尋這個(gè)字串,找到之后把后面的部分當(dāng)作 RAR 來處里,前面的部分就無視掉了。反過來,JPG 格式規(guī)定文件起始兩個(gè)字節(jié)必須是 0xFF 0xD8,如果找不到這兩個(gè)字節(jié),那么就不認(rèn)為它是 JPG 文件。RAR 并不是唯一一種不規(guī)定文件格式必須起始于文件頭的格式。比如下面這個(gè)文件同時(shí)是:
Windows 應(yīng)用程序
Adobe PDF
Java JAR
HTML 網(wǎng)頁
而加上一個(gè)字節(jié),還可以讓它成為 Python 腳本