Достоен наследник на ZIP бомбата и PNG бомбата е компилаторната бомба, която генерира огромен изпълним .exe файл от само няколко символа сорс код. Най-добрият към днешен ден вариант бе предложен през 2016 година от потребител на StackExchange с никнейм Digital Trauma. Най-новата версия на това предложение бе тествана тази година и изглежда съвсем семпло. Ето какъв е сорс кодът на C:
main[-1u]={1};
Това са 14 байта. Според условията на този своеобразен конкурс към предложения код се добавят 15 задължителни байта.
Представеният код определя функцията main като един голям масив и инициализира неговия първи елемент. Това принуждава GCC компилатора да запише целия масив в получения след компилацията изпълним.exe файл.
Според условията на задачата, трябва да се получи възможно най-голям файл. Това означава, че въпросният файл трябва да бъде над 2 GB и на компилатора трябва да бъде заден флагът -mcmodel=medium.
Самата компилация става с помощта на следната команда:
gcc -mcmodel=medium cbomb.c -o cbomb
Не всеки компютър може да извърши подобно компилиране. Експериментите показаха, че с това се справя виртуална машина RedHat 5.6 в електронен облак с 10 GB оперативна памет, SWAP с капацитет 12 GB и огромен локален раздел в /tmp. Необходимо е да се използва GCC версия 4.1.2. Времето на компилация е около 27 минути.
Не се препоръчва подобно компилиране на обикновен домашен десктоп компютър.
В крайна сметка се получава изпълним файл с размер 17 179 875 837 байта (16 GB).
Все още се приемат предложения за най-добра компилаторна бомба.
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!
