當前位置:
首頁 > 時尚 > 一個42KB的文件,解壓完其實是個4.5PB的「炸彈」。。

一個42KB的文件,解壓完其實是個4.5PB的「炸彈」。。






差友們,聽說過 ZIP 炸彈嗎?



一個很小很小的,幾十 KB 的壓縮過後的文件,解壓以後有幾百萬 GB ,好像炸彈一樣。




在繼續介紹它之前,差評君想先問問各位都用過哪些壓縮軟體。。。




WinRAR ?




或者 2345 好壓?




還是開源的 7 - Zip ?




其實壓縮軟體雖然五花八門,但目的都很單純:




把文件佔用空間縮小。




不過差評君上面提到的壓縮軟體,又不單純是縮小空間。




JPG 圖片 , MP3 音樂格式也起到了壓縮作用。



但是 JPG, MP3 們執行的是

有損壓縮





一旦個文件被有損壓縮的時候,會損失一部分數據。




損失的代價就是,你

無法從被壓縮的文件還原出壓縮前的文件。




圖片,音樂等多媒體在有的時候考慮可用性和傳播性,對這樣的結果是可以接受的。



但對許多通用數據來說,往往需要的是

無損壓縮

,比如 .zip 。




對於無損壓縮來說,演算法非常重要,不同的演算法能實現的壓縮率和速度有很大差別。





如上圖所示,主流的演算法一般在 30% - 40% 。




而文章一開始介紹的 ZIP 炸彈,是一個名為 42.zip 的文件。



它的初始大小是 42KB , 解壓密碼是 42 。





解壓之後的大小,足足有

 4.5 PB 。




嗯。。。就是這麼囂張。




解壓這個 42.zip 以後會出現 16 個壓縮包,每個壓縮包又包含 16 個,如此循環 5 次,最後得到 16 的 5 次方個文件,也就是 1048576 個。




這一百多萬個最終文件,每個大小為 4.3 GB 。




因此整個解壓過程結束以後,會得到 1048576 * 4.6 GB = 4508876.8 GB




也就是 4508876.8 ÷ 1024 ÷ 1024 = 

4.5 PB



還有比它更囂張的。




一個叫做 droste.zip 的大小為 28 KB 的文件,一旦被打開了以後,就會無限解壓縮生成一份同樣的文件,

直到永遠。




這個文件名靈感應該取自德羅斯特效應 

( Droste Effect )

,是指一張圖片的部分與整張圖片相同,無限循環。。。如下圖↓





這個名字源自一家叫德羅斯特的可可粉廠商做的商品包裝。。。



注意女僕手上拿著的產品圖






咳咳。。。扯遠了。




總而言之,這個 droste.zip 的核心原理就是輸出結果為自身。




舉個例子,製作者大概做了這麼一件事:



在引號里重複這句話 「 在引號里重複這句話 」 




然後解壓縮之後,硬碟就。。。 BOOM !





當然。。。也有劍走偏鋒思路不同的。




有一段名為 《 彗星撞地球 》 的影片,也展現了神奇的壓縮比率。




這段 3D 影片如果直接放出來要 15 G 左右,效果。。。放在它出生的年代 2000 年還真不差。





這個壓縮過的大小

只有 64 KB, 壓縮了 25 萬倍 !





實現的原理其實不算通常意義上的壓縮。




而是製作組 Warez 做了一個 64KB 的可執行 EXE 文件,運行的時候會調用顯卡,CPU 及內存等等及時渲染動畫。




打個比方,動畫就好比連環畫,傳統影片是畫好的一冊,而這個 《 彗星撞地球 》 則是看的時候現場一幅幅畫。




差評君用錄屏軟體錄了 7 分鐘都要 2.27 G 。

( 當然,這和現代顯示屏解析度比較高有關係 )





那麼問題來了。。。




一個文件的壓縮率有極限嗎?




有,可以由信息學之父克勞德·香農提出的信息熵函數算出來。





不過 42.zip 也好,droste.zip 也好,不適合套用香農提出的極限。




因為這兩個文件為了達到驚人的壓縮比,有大量刻意重複的數據,這種重複數據在壓縮的時候是可以被丟棄的,沒啥實質性內容的信息。




那麼。。。




如果動畫還有點傳播意義, 42.zip 和 droste. zip 還有啥意義呢?




這兒就要提就是 ZIP 炸彈之所以被稱作 「 炸彈 」 的真正原因了。。。




除了會 「 爆炸 」 ,

 這玩意兒其實是拿來攻擊別人的。





某些病毒製作者利用殺毒軟體會掃描壓縮文件內部的特性,會把 ZIP 炸彈連帶病毒一起發到目標電腦上。




而 ZIP 炸彈表面上看起來很小,易於傳輸,但實際上掃描起來非常花時間。




趁著殺毒軟體忙著掃描 4.5 PB 的數據,被佔用時,病毒軟體就可以趁虛而入了 ~




差評君昨天說了啥來著。。。




干黑產的,角度刁鑽得讓人折腰。




不過現在很多殺毒軟體已經有辦法避開這種 zip 炸彈的佯攻了,

這個話題漸漸地拋開了黑產。




一直以來壓縮演算法是演算法研究里津津樂道的話題, Huffman 樹, LZW 字典等等。。。




用程序解決信息問題的姿勢,仔細一琢磨也挺有意思的不是?






圖片來源



BetaNews


tylerbrownblog


Tom』s Hardware


steemit


參考資料



Quora 問題《 What is the most compressed file ever? 》


知乎問題 《 世界上最大的文件壓縮率是多少? 》中,用戶 @何先森飯掃光, @羅翔 的回答。


維基百科詞條 「 自產生程序 」


維基百科詞條 「 zip bomb 」






如果你好奇這些文件玩兒起來是咋回事,差評君在這提供下載鏈接,後台回復 「 壓縮 」 就行。




「 借一部說話可以變成借萬部說話 」


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 差評 的精彩文章:

今日最佳:我年齡太大了,已經不適合當蜘蛛俠了。。。
這個可穿戴腮,能讓人在水下自由呼吸

TAG:差評 |