Изображение размером 420 байт отправляет сайты в аут Какой самый большой размер изображения формата PNG в наименьшем количестве байт? Программист Дэвид Фифилд с сайта bamsoftware.com заинтересовался данным вопросом и пришел к удвительным выводам. Он создал картинку, размеры которой не умещаются в оперативной памяти, вызывая зависание системы. Запакованный bzip2-файл spark.png.bz2 имеет размер всего 420 байт. В нем лежит сжатый PNG-файл. При распаковке картинка занимает 6132534 байт или 5,8 мегабайт и имеет разрешение 225000 на 225000 пикселей (50,625 гигапикселей). Для просомтра такого изображения требуется около 141 гигабайта оперативной памяти. На незащищенных от подобной «бомбы» фото-хостингах, форумах и прочих сайтах, где можно загрузить и посмотреть картинку, таким образом можно запросто положить сервера. PNG использует алгоритм сжатия DEFLATE в библиотеке zlib. Сначала DEFLATE заменяет повторяющиеся строки указателями, при этом каждая пара бит кодирует 258 одинаковых байтов с нулями. Степень компрессии составляет 1032 к 1. Затем за дело берётся bzip2, который сжимает длинный набор одинаковых значений в максимально компактный вид. Картинка почти полностью состоит из нулей, внутри находится секретное послание. Для лучшего сжатия используется однобитное цветовое пространство, хотя большинство программ для рендеринга графики всё равно резервируют по три бита на пиксель и разворачивают картинку в 141,4 гигабайта. http://geektimes.ru/post/261276 ----------------------------- Картинка: https://www.bamsoftware.com/bzr/deflate/spark.png.bz2
Баян, я ещё в 2005-ом отправлял компы в bsod используя png 640*480 растянутую в теге img с width/height равным 999999
Да, согласен, трюк можно в какой-то степени назвать старым, да только тут немного другое, чем растягивание изображения или фейковые цифры в хидере.