Egy 420 bájtos fájlt 40 gigapixeles png képre bontanak ki

A régi időkben népszerű zipbombák és rekurzív levéltárak voltak, amelyek kicsomagolódtak. A Zip bomba néha használható DoS támadásra. Például a hírhedt 42.zip fájl mérete 42 kilobyte. Ha elkezd kicsomagolni, akkor a folyamat addig folytatódik, amíg az adatkészlet el nem éri a 4,3 gigabájt kicsomagolásának felső határát. Az eljárás több mint 4,5 petabájt RAM-ban (4,503,599,626,321,920 byte) fog megtörténni.

A programozó és a hacker David Fifield (David Fifield) azon töprengett, hogy hol máshol alkalmazhatja az archív bombákat. Azonnal szem előtt tartja a PNG grafikus formátumát, amely a DEFLATE tömörítési algoritmust használja a zlib könyvtárban.

Mi lesz a kép maximális mérete a minimális fájlmérettel? Az ötlet az, hogy a fájl gyorsan letölthető az internetről, de nem illeszkedik a számítógép memóriájába.

Először is, a DEFLATE algoritmus az ismétlődő vonalakat (LZ77) helyettesíti, mindegyik bitpárban, amely 258 azonos bájtot és nullát kódol. A tömörítési arány 1032-1.

Ezután a bzip2 veszi át, ami egy hosszú, azonos értéket tömörít a legkompaktabb formába.

A 420 bájtos archívumban 6,132,534 bájt (5,8 MB) PNG fájl és 225 000 x 225 000 képpontos kép (50,625 gigapixel) található. Egy képpontos három bájtos képpont pufferben a kép kb. 141,4 GB-ot fog elérni.

A kép szinte teljes egészében zérus, titkos üzenet a központban. A jobb tömörítés érdekében egy bites színteret használnak, bár a legtöbb grafikus renderelő program még mindig 3 bitet tartalmaz pixelenként és a képet 141,4 gigabájtra bővíti.

2) telepítsen egy új faviconot az oldalra.

Ossza meg a híreket a barátaival: