The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Объявлены победители 29 конкурса по написанию запутанного кода на языке Си

08.06.2026 15:22 (MSK)

Опубликованы исходные тексты работ, победивших в двадцать девятом конкурсе IOCCC (International Obfuscated C Code Contest), участникам которого предлагалось подготовить наиболее запутанный и трудноразбираемый код на языке Си. Участвующие в конкурсе работы, с одной стороны, должны препятствовать анализу кода и пониманию сути решаемой задачи, но, с другой стороны, код должен быть интересен и чем-то примечателен (работы могут быть необычно оформлены или выделять неожиданные стороны языка Си). Размер файла с кодом программы не должен превышать 4993 байтa, а чистый код не должен превышать 2503 байта после обработки утилитой iocccsize.

Среди победителей:

  • Эмулятор компьютера с архитектурой URISC, набор команд в котором ограничивается одной инструкцией SUBLEQ (SUbtract and Branch if Less than or EQual to zero). Размер эмулятора всего 366 байт, при том, что помимо CPU он эмулирует фреймбуфер с разрешением 800x512, используя для вывода графики библиотеку SDL3, и может загрузить образ с Linux и запустить в нём игру doom.
  • Генератор изображения чёрной дыры. Приложение включает простой интерпретатор для подмножества языка Fortran 66, программа для которого задана в форме перфокарт, закодированных через пробелы и табуляции в исходном коде. Закодированная Fortran-программа повторяет первый код для симуляции чёрной дыры, опубликованный Жан-Пьером Люмине в 1978 году. Изображение формируется в виде облака точек и сохраняется в формате PGM. Кроме симуляции чёрной дыры предложены варианты с закодированными "перфокартами" для расчёта множества Мандельброта, вычисления простых чисел и трассировки лучей.
  • Вариант утилиты patch, генерирующий утилиту diff через серию трансформаций собственного кода. На первом этапе скомпилированной утилите patch передаётся собственный исходных код, на основе которого формируется diff-файл. После применения этого diff-а к собственному коду на выходе получается программа, которая в цикле на основе своего кода генерирует набор коммитов с патчами в формате "git am". При объединении данных коммитов командой "git log --pretty=format:%s > final.c" получается код с реализацией утилиты diff.
  • Игра в жанре Roguelike, работающая в текстовом терминале и позволяющая проходить автоматически генерируемый лабиринт, собирать артефакты и избегать монстров. Код оформлен в виде изображения подземного жителя и обфусцирован (строки зашифрованы, циклы реализованы через goto, при работе с массивами используется синтаксис "индекс[массив]").

  • Генератор ASCII-анимации, воссоздающий заставку сериала "Доктор Кто" с симуляцией видеоэффекта "HowlRound" (туннель из уменьшающихся копий изображения), применявшегося в заставке 1963 года.
  • Эмулятор игровой приставки GameBoy, оптимизированный для запуска тетриса, но способный выполнять и другие игры (протестирован запуск ROM-файлов для десятка игр). Вывод формируется в форме псевдографики из Unicode-символов.
  • Симулятор звука морского прибоя на фоне автоматически генерируемой медитативной музыки. На выходе генерируется wav-файл, продолжительностью 5 минут.
  • Реализация самомодифицирующегося игрового автомата Quine Pong, предоставляющего две игры - пинг-понг и перепрыгивающий препятствия динозавр (как в пасхальном яйце из Google Chrome). Программа примечательна тем, что отображение кадров реализовано через цикличную перегенерацию кода программы (запуск приводит к выводу исходного кода для первого кадра, после компиляции этого кода формируется код для следующего кадра и так далее). Игровой процесс реализован через shell-скрипт, выполняющий цикличную перекомпиляцию кода.
  • Компилятор и генератор кода для языка Zoltraak. Язык включает только одно слово "zoltraak", которое комбинируется в разной форме с пробелами и пустыми строками. На вход подаётся любой текстовый файл, который преобразуется в программу на языке Си, состоящую из заголовка и последовательности на языке Zoltraak. Компиляция и выполнение сгенерированной Си-программы приводит к выводу содержимого исходного текстового файла.


/


  1. Главная ссылка к новости (https://www.ioccc.org/news.htm...)
  2. OpenNews: Объявлены победители 28 конкурса по написанию запутанного кода на языке Си
  3. OpenNews: Возобновлено соревнование по написанию запутанного кода на языке Си
  4. OpenNews: Названы победители 27 конкурса по написанию запутанного кода на языке Си
  5. OpenNews: Опубликованы работы, победившие на 21 чемпионате по написанию запутанного кода на языке Си
  6. OpenNews: Результаты 22 чемпионата по написанию запутанного кода на языке Си
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65641-ioccc
Ключевые слова: ioccc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (47) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 15:46, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понял про эмулятор в 366 байт.
     
     
  • 2.4, Аноним (4), 15:53, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Что именно непонятно про виртуальный проц с одной инструкцией?
     
     
  • 3.7, Аноним (1), 15:57, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Где он взял линпус и дум под это дело?
     
     
  • 4.11, Аноним (1), 16:00, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И каким образом это рисуется через SDL.
     
  • 3.8, Аноним (8), 15:58, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не понятно как он Линукс с игрой дум запускает
     
     
  • 4.18, Аноним (18), 16:07, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там по ссылке пример есть:

        wget https://raw.githubusercontent.com/adriancable/eternal/main/ioccc/vmlinux.booti
        xz -d vmlinux.bootimage.xz
        ./prog < vmlinux.bootimage

     
     
  • 5.23, Аноним (1), 16:21, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это ничего не объясняет.
     
  • 4.47, kusb (?), 18:10, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Можно ещё один эмулятор каго будь risv-c, тода не придётя портировать Linux пож возможно не подходящую архтуу
     
  • 2.19, Аноним (18), 16:14, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Там автор гигантскую работу проделал, кроме написания эмулятора, он написан бэкенд к LLVM для одкомандной архитектуры, портировал musl и библиотеку c программным FPU и смог собрать с его помощью ядро Linux.
     
     
  • 3.51, Аноним (51), 18:27, 08/06/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.3, Аноним (4), 15:52, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > закодированных через пробелы и табуляции
    > комбинируется в разной форме с пробелами и пустыми строками

    Какой смысл в этих работах?

     
     
  • 2.6, Аноним (6), 15:57, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Милый исходник
    https://github.com/ioccc-src/winner/blob/master/2025/yang2/prog.c
     
     
  • 3.25, Аноним (1), 16:24, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это тян?
     
     
  • 4.27, Аноним (27), 16:29, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это Ферн, а Зольтраак это базовое атакующее заклинание, которым она в основном и пользуется в боях. Это база знать надо.
     
  • 4.28, Аноним (28), 16:29, 08/06/2026 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
  • 2.9, Аноним (9), 15:58, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    for fun
     
     
  • 3.50, Аноним (51), 18:25, 08/06/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.13, Аноним (13), 16:01, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Выиграть конкурс
     
  • 2.17, Соль земли2 (?), 16:06, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Чтобы ты завидовал и компенсировал это через критику.
     
  • 2.21, Аноним (28), 16:16, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Раньше было показать примеры, как надо прятать бекдоры от кожаных мешков. Теперь, наверное, как их прятать от ИИ.
     
  • 2.44, Джон Титор (ok), 18:01, 08/06/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.45, Джон Титор (ok), 18:03, 08/06/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.54, Аноним (54), 18:51, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Лучшеб на Раст что-нибудь переписали !
     

  • 1.10, Аноним (8), 15:59, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Их бы усилия да в мирное русло.
     
     
  • 2.15, Аноним (13), 16:03, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Твои бы усилия про коментирование усилий да в мирное русло
     
     
  • 3.22, Аноним (22), 16:17, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Твои бы усилия про коментирование усилий да в мирное русло
     
     
  • 4.52, kusb (?), 18:28, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Здесь был условный вызов иногда приводящий к хвостовой рекурсии.
     

  • 1.16, Карлос Сношайтилис (ok), 16:06, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    > конкурса по написанию запутанного кода на языке Си

    А конкурс по написанию понятного и безбажного кода на Си будет?

     
     
  • 2.20, Аноним (20), 16:16, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Можно организовать, а вот для, например, Rust'а написать понятный код не получится.
     
     
  • 3.35, Онанимус (?), 16:52, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Гордишься, что не осилил Раст?
     

  • 1.24, King_Carlo (ok), 16:21, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Однажды я сел на клавиатуру и получился код на asm.
     
     
  • 2.31, Аноним (31), 16:37, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И почему ты не участвовал в конкурсе?
     
     
  • 3.34, Аноним (34), 16:52, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он же не сказал что рабочий, а там условие, у меня племяш тоже чтото генерирует и иногда похоже призыв сотоны, но увы, император подземного царства не появляется.
     
  • 2.32, 12yoexpert (ok), 16:38, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это был раст
     
     
  • 3.42, Аноним (42), 17:28, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    эх, а раньше получался перл
     
     
  • 4.49, Аноним (51), 18:21, 08/06/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.29, Аноним (29), 16:29, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разве это запутанный код? По мне так это просто непонятный эмодзи-код. Запутанный код, это когда невозможно отследить логику и понять что там к чему, разве нет?
     

  • 1.30, Аноним (31), 16:37, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хоть кто-то чем-то полезным занят.
     
     
  • 2.41, Alladin (?), 17:22, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    кто-то тот кто не пошел на этот конкурс? ты про это?
     
     
  • 3.55, 12yoexpert (ok), 18:52, 08/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    кто-то, кто делает домашку по российскому
     

  • 1.33, Аноним (33), 16:40, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чтобы запутанный код писать на расте далее конкурсы не нужны.
     

  • 1.43, Джон Титор (ok), 17:48, 08/06/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

  • 1.48, Аноним (51), 18:18, 08/06/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.53, kusb (?), 18:29, 08/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они пишут непонятный код, а я едва понимаю даже понятный.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру