- PVSM.RU - https://www.pvsm.ru -

Опубликован исходный код [1] программ-победителей 22-го конкурса программ с обфусцированным кодом на C. Участвовать в конкурсе могут готовые программы размером меньше 4096 байт, при этом количество значимых символов, без учёта пробелов, знаков табуляции и знаков; ( ), не должно превышать 2048. Впрочем, в этом году многие участники воспользовались эксплоитом для бага в модуле вычисления размера программы, так что в 2013 году на конкурс были представлены, пожалуй, самые продвинутые программы за все годы проведения соревнований.
Например, вызывает искреннее восхищение эмулятор 8086-компьютера размером 4043 байта [2] (исходный код [3]) с полным набором инструкций 8086/186, который поддерживает флоппи-диски и HDD и PC-спикер.

В эмуляторе можно запускать почти любое программное обеспечение. Автор проверял его с операционными системами (MS-DOS 6.22, FreeDOS 0.82pl3, Windows 3.0, DESQview 2.8, профессиональным ПО (Lotus 1-2-3 2.4 and AsEasyAs 5.7 for DOS, Excel 2.1 for Windows, AutoCAD 2.5, WordStar 4), языками программирования (QBASIC, GWBASIC, Turbo C++), играми (Carrier Command, Police Quest, бесплатные игры Windows) и бенчмарками (Manifest, Microsoft MSD, InfoSpot, CheckIt). Всё вышеперечисленное работало нормально.
После установки эмулятора автор Адриан Кейбл (Adrian Cable) предлагает скачать образ HDD (40 МБ) [4] с набором софта для 8086.
Скриншоты





Правда, автор немного схитрил, перенеся часть кода в BIOS, но подобный креативный «обход правил» конкурса даже поощряется на IOCCC.
Ещё одна выдающаяся программа среди 15 победителей конкурса — работа [5] Кристофера Миллса, который выигрывал на конкурсе IOCCC ещё в 1993 году, то есть 20 лет назад. После компиляции и запуска программа создаёт веб-сервер на порту http://localhost:8224. Туда можно зайти браузером и увидеть 3D-часы, которые динамически рендерятся и отображают текущее время.
Исходный код веб-сервера/часов/PNG-кодера/трассировщика выглядит так.

Ну, а абсолютным победителем соревнования стала ещё одна работа Адриана Кейбла — программа распознавания символов [6] в BMP-картинках. С размером 4096 байт, похоже, это самая маленькая в мире OCR-программа.
Автор: alizar
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ocr/52224
Ссылки в тексте:
[1] исходный код: http://ioccc.org/years.html#2013
[2] эмулятор 8086-компьютера размером 4043 байта: http://ioccc.org/2013/cable3/hint.html
[3] исходный код: http://ioccc.org/2013/cable3/cable3.c
[4] образ HDD (40 МБ): http://bitly.com/1bU8URK
[5] работа: http://ioccc.org/2013/mills/hint.html
[6] программа распознавания символов: http://ioccc.org/2013/cable2/hint.html
[7] Источник: http://habrahabr.ru/post/208334/
Нажмите здесь для печати.