Преди много години бяха доста популярни zip-бомбите, които се разархивират в себе си. Zip-бомбата може да се използва и за организиране на своеобразни компютърни атаки. Пример за това е файлът 42.zip (unforgettable.dk), с размер 42 KB. При опит да бъде разархивиран, процесът продължава, докато се запълнят системните ресурси, и би могъл да заеме 4,5 PB дисково пространство.
Програмистът Дейвид Фифийлд измисли нов начин за използване на тези архиваторни бомби. Той се досетил, че по подобен начин е организиран графичният формат PNG, в който се използва алгоритъма за компресиране DEFLATE, включен в програмната библиотека zlib.
Той пробвал най-различни варианти и накрая получил файла spark.png.bz2 с размер 420 байта. Алгоритъмът DEFLATE заменя повтарящите блокове с указатели, като всеки два бита кодират 258 нулеви байта. Компресията в този случай достига 1032 към 1.
След като DEFLATE приключи работата си следва използването на алгоритъма bzip2, който компресира дългите последователности, съдържащи еднакви символи, в максимално компактен вид.
В крайна сметка, в архива с размер 420 байта се намира PNG файл с размер 6 132 534 байта (5,8 MB) и изображение с размер 225 000 х 225 000 пиксела (50,625 мегапиксела). Но в буфера за пиксели, който използва три байта за всеки пиксел, изображението заема около 141,4 GB.
Изображението почти изцяло е съставено от нули, но в центъра има таен текст. За по-добра компресия се използва 1-битово цветово пространство, но повечето програми за обработка на графика използват по три байта на пиксел и разгръщат изображението до 141,4 GB.
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!