Организаторы мероприятия "Underhanded C Contest (http://underhanded.xcott.com/)" объявили (http://underhanded.xcott.com/?p=18) о начале приема заявок на участие в конкурсе по созданию небольших и легко читаемых программ на языке Си, которые с виду не вызывают подозрений, но выполняют скрытые и непредсказуемые действия. Чем труднее при проведении аудита кода распознать скрытую вставку, тем выше ставится оценка участнику. В качестве задания участникам предлагается создать процедуру для распределения багажа в аэропорту, которая по волшебному стечению обстоятельств направляет багаж не по тому маршруту, если клерк при заполнении бланка оформит определенным образом текст в поле комментария.
Организаторы подчеркивают, что в отличие от известного соревнования по созданию самого запутанного и трудночитаемого кода The International Obfuscated C Code Contest (http://www.ioccc.org/), на конкурсе "Underhanded C Contest" ставится противоположная задача - код должен быть предельно ясен и читаем...URL: http://underhanded.xcott.com/?p=18
Новость: http://www.opennet.me/opennews/art.shtml?num=24869
А победителей купит Гугль, чтобы вставлять в невинный код Chromium'а жучков?
Да победитель по-моему вообще будет нарасхват!
>А победителей купит Гугль, чтобы вставлять в невинный код Chromium'а жучков?Эта программа просто следит за обновлениями гугла и получает список запрещенных сайтов. Это не троян.
#define Херня main() { printf("Херня"); return 0;}
Херня
хаха, а я знаю победителя - glibc :)
ага, жучками будет багаж сортировать 8D
http://www.google.ru/search?hl=ru&source=hp&q=windows+2000+s...Поиск+в+Google&lr=&aq=0&oq=windows+2000+soПобедитель найден.
Почитал предыдущие выпуски, стало страшно. Такой ужас за 2007 год с time()...
Ух ты... супер, не знад что такие конкурсы проводятся.
Огромное спасибо за новость и за ссылку! Пригодится на работе:)
почитай Codebreakers Magazine, там можно найти много интересного.
На Си это уже не интересно - вот на python чтобы запутать, вот тут я понимаю надо измудриться.
Запросто. Сходу копипаст первой функции из открытого работающего проекта
(функция разделения строки на слова для подстрочного переводчика),
распутывайте 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)
Позвольте полюбопытствовать, это генерится из Template Haskell ?
Если есть свободный проект, может кинете ссылочкой?
>Позвольте полюбопытствовать, это генерится из Template Haskell ?
>Если есть свободный проект, может кинете ссылочкой?Нет, это чудо породил быдлокодер,года 3 назад, если честно - я. Дескриптор функции в хаскель-нотации исключительно из-за краткости.
Это умерший форк процессора славяно-тюркского машинного перевода. А новый пока не вывесил.
Идеи отсюда: www.aot.ru (LGPL C++, есть красивая реализация на питоне)
а на языках типо Java/C# такое возможно?
Естественно!
Все зависит от способностей...