В общем, многие, наверное, знают, что с древних времен существует разновидность гадостей, именуемая файл-бомбой. Изготовляется очень просто, равно как и ловится уже давным давно по степени сжатия большинством вменяемого софта. Принцип действия бомбы простой. Пишу уже вечером в пятницу, поэтому сбивчиво. Итак, однородные массы данных очень хорошо жмутся архиваторами. Берем гигантский файлик из одних ноликов, называем файл .exe и жмем его в архив. Антивирус, например, постарается распаковать этот файлик и, если он совсем древний и глупый, то скорее всего завалит машину владельца. Аналогичным образом можно подставить кучу разнообразного софта, интересующегося содержимым архивов. Раньше очень весело было в FIDO подкинуть вместо почтового пакета бомбу, тоссер бедный раз за разом пытался ее развернуть... Ну сейчас уже как-то несерьезно такими вещами заниматься, способ давно известный и интересен с академической точки зрения. Итак, первый вопрос в том, как получить такой файлик. Под Линуксом можно сделать все, просто прочитаем нужное количество нулей из /dev/zero
Код:
dd if=/dev/zero of=readme.txt bs=1024000 count=200000
во время работы утилитки можно посылать ей killall -USR1 dd, чтобы она отображала текущий прогресс. Я запускал с другими параметрами, в общем, у меня получился файлик на 220934Mб. Из интересующих меня архиваторов (а я интересовался есть ли замена лидеру, 7z) выбрал только новомодный xz, поддержка которого недавно появилась в tar.
Запускал c параметрами:
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on
xz -9 -e
Итог ошеломляет.
7z работал около 6 часов (i5 2500S), файл 31913K
xz работал около 16 часов (!), файл 32907K
в общем, нет пока замены моему любимому 7z. Если кому-то интересно, файлики (архивы) лежат в папке OlegON на ftp.