The OpenNET Project / Index page

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

Анонсировано соревнование по созданию запутанного кода на языке Си

31.12.2009 10:36

Организаторы мероприятия "Underhanded C Contest" объявили о начале приема заявок на участие в конкурсе по созданию небольших и легко читаемых программ на языке Си, которые с виду не вызывают подозрений, но выполняют скрытые и непредсказуемые действия. Чем труднее при проведении аудита кода распознать скрытую вставку, тем выше ставится оценка участнику. В качестве задания участникам предлагается создать процедуру для распределения багажа в аэропорту, которая по волшебному стечению обстоятельств направляет багаж не по тому маршруту, если клерк при заполнении бланка оформит определенным образом текст в поле комментария.

Организаторы подчеркивают, что в отличие от известного соревнования по созданию самого запутанного и трудночитаемого кода The International Obfuscated C Code Contest , на конкурсе "Underhanded C Contest" ставится противоположная задача - код должен быть предельно ясен и читаем, но за невинным внешним видом должен быть скрыт "троянский конь". Работы на конкурс будут приниматься до 1 марта. Приз символический - сертификат на 100 долларов для покупки в интернет-магазине ThinkGeek.com.

С работами победившими на конкурсе в прошлые годы можно познакомиться на данной странице. Например, в прошлом году участникам предлагалось создать программу, которая рисует на изображении формата PPM черный прямоугольник, но с возможностью полностью восстановить закрашенную область. В 2007 году предлагалось подготовить программу для шифрования, при определенных условиях оставляющую возможность расшифровки без знания пароля. В 2006 году создавалась функция для обработки строк, на определенной операционной системе замедляющая свою работу.

  1. Главная ссылка к новости (http://underhanded.xcott.com/?...)
  2. OpenNews: Соревнование по созданию невинно-выглядящего кода на языке Си
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/24869-gcc
Ключевые слова: gcc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (16) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, juvvi (?), 11:12, 31/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А победителей купит Гугль, чтобы вставлять в невинный код Chromium'а жучков?
     
     
  • 2.4, Green (??), 11:44, 31/12/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да победитель по-моему вообще будет нарасхват!
     
  • 2.24, Berserk (??), 22:24, 05/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >А победителей купит Гугль, чтобы вставлять в невинный код Chromium'а жучков?

    Эта программа просто следит за обновлениями гугла и получает список запрещенных сайтов. Это не троян.

     

  • 1.2, Seytar (?), 11:40, 31/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    #define Херня main() { printf("Херня"); return 0;}
    Херня
     
  • 1.3, Serega (??), 11:40, 31/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    хаха, а я знаю победителя - glibc :)
     
  • 1.5, MMX (ok), 11:50, 31/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    ага, жучками будет багаж сортировать 8D
     
  • 1.6, Lindemidux (??), 11:52, 31/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    http://www.google.ru/search?hl=ru&source=hp&q=windows+2000+source+code&btnG=П

    Победитель найден.

     
  • 1.13, Аноним (-), 15:46, 31/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почитал предыдущие выпуски, стало страшно. Такой ужас за 2007 год с time()...
     
  • 1.14, xcode (?), 11:42, 01/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ух ты... супер, не знад что такие конкурсы проводятся.
    Огромное спасибо за новость и за ссылку! Пригодится на работе:)
     
     
  • 2.16, Карбофос (ok), 19:46, 01/01/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    почитай Codebreakers Magazine, там можно найти много интересного.
     

  • 1.15, Михаил Кривушин (?), 15:20, 01/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На Си это уже не интересно - вот на python чтобы запутать, вот тут я понимаю надо измудриться.
     
     
  • 2.21, HardNik (?), 08:30, 03/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Запросто. Сходу копипаст первой функции из открытого работающего проекта
    (функция разделения строки на слова для подстрочного переводчика),
    распутывайте f5.
    def lex_split(s,lst_tr=[]):
        """ HaskellNote:  lex_split:: s::String -> lexema::[word,delim,flag_tr] -> Text::[lexema,]"""
        concat=operator.concat; contains=operator.contains
        global alfavit_ru
        triger=True
        f1=lambda x:contains(alfavit_ru,x)
        def f2(x,(y,z)):
            if not triger: triger |= True; x+=[[u'',u'',True],]; x[-1][2]=z
            x[-1][0]+= y; return x
        def f3(x,(y,z)):
            x[-1][1]+=y; triger &= False; return x
        f5=lambda t:reduce(lambda x,(y,z):(f1(y) and f2(x,(y,z))) or f3(x,(y,z)),map(lambda    a,b:(a,b or False),list(t),lst_tr),[[u'',u'',True],])

        return f5(s)

     
     
  • 3.23, Пожалуйста (?), 18:59, 05/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Позвольте полюбопытствовать, это генерится из Template Haskell ?
    Если есть свободный проект, может кинете ссылочкой?
     
     
  • 4.25, HardNik (?), 08:53, 06/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Позвольте полюбопытствовать, это генерится из Template Haskell ?
    >Если есть свободный проект, может кинете ссылочкой?

    Нет, это чудо породил быдлокодер,года 3 назад, если честно - я. Дескриптор функции в хаскель-нотации исключительно из-за краткости.
    Это умерший форк процессора славяно-тюркского машинного перевода. А новый пока не вывесил.
    Идеи отсюда: www.aot.ru (LGPL C++, есть красивая реализация на питоне)

     

  • 1.17, JL2001 (ok), 13:43, 02/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а на языках типо Java/C# такое возможно?
     
     
  • 2.22, dRiZd (?), 16:06, 04/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Естественно!
    Все зависит от способностей...
     

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



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

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