19.01.2021

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


Опубликованы исходные тексты работ, победивших в двадцать седьмом конкурсе IOCCC (International Obfuscated C Code Contest), целью которого было написание наиболее запутанного и трудноразбираемого кода на языке Си.

Участвующие в конкурсе работы, с одной стороны, должны препятствовать анализу кода и пониманию сути решаемой задачи, но, с другой стороны, код должен быть интересен и чем-то примечателен, например, быть необычно оформленным или выделять неожиданные стороны языка Си. Размер исходного кода программы не должен превышать 4096 байт, а программа должна собираться и выполнять какое-либо осмысленное действие.

В 4 из 15 номинаций победили программы, написанные Ильёй Курдюковым:

  • Программа для вычисления хэшей MD5, код которой оформлен в виде шара. Особенность программы в том, что она дианамически генерирует таблицу констант для вычисления хэшей MD5. Работа победила в номинации «лучшая утилита».
  • Программа для разделения изображения на сегменты, которые выбираются с учётом содержимого.
  • Программа для добавления опечаток в текст через замену некоторых букв местами.
  • Программа для генерации случайного текста на основе предоставленного словаря.

Другие победители:

  • Программа для преобразования байта в двоичное представление без использования циклов. Работа победила в номинации «лучший однострочник».
  • Генератор программ, защищённых PIN-кодом. На основе переданного на стандртаный вход текста и указанного в командной строке PIN-кода генерируется код на языке Си, который воспроизводит указанный на входе текст, но только если этот Си-код будет собран с указанием PIN через флаг компилятора «-DPIN=N».
  • Игра в крестики-нолики, код которой состоит из одной функции printf, вызываемой в цикле.
  • Полуавтоматическая реализация игры «минёр».
  • Реализация игры «Астероид» с кодом, выравненным по правому краю.
  • Зеркальные часы из ASCII-символов.
  • Игра «змейка» с различными игровыми режимами и настройками.
  • Симулятор шифровальной машины Энигма.
  • Кодировщик/раскодировщик кодов DTMF (генерирует и раскодирует звук с телефонными тональными сигналами).
  • Программа выводит с использованием ASCII-псевдографики текст, уплывающий вдаль, как вначале фильма «Звёздные войны».
  • Программа изменяет MIDI-файлы, добавляя дополнительную дорожку с барабанным ритмом.

Источник: https://www.opennet.ru/opennews/art.shtml?num=54350

Добавить комментарий