Obfuscated C Code Contest

tiocccBir yarışma, C dilinde geliştirilen yazılımların yarıştığı bir yarışmadır Obfuscated C Code Contest.  Bu yarışmada yazılıma gönül vermiş C dilinde bilgi birikimin sahibi olan  kişilerin katıldığı 1984 yılında başlayan, bir dönem ara vermiş ardından devam eden yarışmadır.

Bu yarışmanın amacı ise oldukça ilgi çekici. Obfuscated C Code Contest’in amacı Ufak ve anlaşılmaz “anlamlı” programlar yazmak.

Bu yarışmanın her sene değişmekte olan kuralları bulunmakta. Şaşırtıcı ve ilgi çekici olan bu kodlar ilk başta ne olduğu, ne hakkında yazıldığını anlamak zor derledikten sonra ortaya çıkan sonuçlar ise oldukça şaşırtıcı.

Obfuscated C Code Contest yarışması IOCCC önderliğinde ortaya Landon Curt Noll ve Lary Bassel tarafından başlatılmış.

Obfuscated C Code Contest yarışması ASCII sanatınada destek vermekte ve kodları sanata göre yapmak, program içerisinde programı gizlemek. Anlamsız söz dizimi ise yarışmanın genel kurallarıdır.

Bu yarışmaya katılan yazılımcıların bir dahi olduğunu düşünüyorum. Hem sanat, hem de bilgi ve tecrübenin üst seviyede olduğu kod bloklarından anlaşılmakta.

Çok eğlenceli bir yarışma olduğu kesin.  Bu anlamsız kod yazım yarışmasından sizlere örnekler vereceğim. Derleme imkanınız var ise bu kodları derlemenizi ve çıkan sonuçlara bakmanızı öneririm.

2012 yılında endoh2 adlı yaptığı ve ödül alan programı.

2012 yılında 2012 yılında endoh2 adlı yaptığı ve ödül alan programı.

Daha bir çok örnek paylaşabilmem mümkün ama siz http://www.ioccc.org sitesine girip daha detaylı ve kazanmış örneklerine bakmanız mümkün.

1 comment

  1. Yusuf

    Ağzım açık kaldı , nedir o ya 🙂 .

    endoh2 nin derledim o musluklu koddan pi nasıl çıktı 🙂

    #include/*Spigot_Quine*//*int*e,i,j,k,n;char*q,*a,*d,**/
    #include/*_IOCCC2012_*//*k,n;char*q,*a,*d,*z,*p=G1%%x*/
    int*e,i,j,k,n;char*q,*a,*d,*z,*p=”G1%%xJ{;Q7wunmuGuu%%uu#include”
    “/*Spigot_Quine*/#include/*_IOCCC2012_*/int*e”
    “,i,j,k,n;char*q,*a,” “*d,*z,*p=%s%c;in”
    “t%cmain(){a=callo” “c(1,1e4+n*2);;fo”
    “r(*a=3,z=d=a+n+1” “,j” “=n*8-7” “;k=0,j-1;j-=2){for(a[1”
    “]+=2;–z-a;*z=k%” “%10,” “k/=10)” “k+=j/2**z;;for(;k=k%%j”
    “*10+*++z,z<d;)*z" "=k/j;" ";;}d+=" "sprintf(q=d-20,p,p,34,"
    "32,n+1)+2;;;;for(n=n*20-4" "00;k<n" ";++k%%n?j=!puts(d):(d["
    "j]=47,d++,d[j-2]=42),k%%2" "0<1?pu" "ts(d-1),a++:0){for(i=-"
    "1;i++<32;!*z?q[662]=0,z=" "q+207:" "*z+z[1]”
    “>(i/11+k/4%%5*3))&1?k/3*” “!j&&p?j” “=34:(j=i+1,*z++):32;k/”
    “3*j–&&p?d[z–,j]=34:0;” “}}int*y” “,n=%d;/*..~”;int main()
    {a=calloc(1,1e4+n*2 ) ;;for(*a= 3,z=d=a+n+1,j=n*8-7;k=0,
    j-1;j-=2){for(a[1] +=2;–z-a; *z=k%10,k/=10)k+=j/2**
    z;;for(;k=k%j*10+* ++z,z<d;)*z =k/j;;;}d+=sprintf
    (q=d-20,p,p,34,32,n +1)+2;;;;for( n=n*20-400;k<n;++k%
    n?j=!puts(d):(d[j]=47,d++,d[j-2]=42),k%20<1?puts(d-1),a++:0){for(
    i=-1;i++<32;!*z?q[662]=0,z=q+207:*z+z[1]>(i/11+k/4%5*3))&1?k/3*
    !j&&p?j=34:(j=i+1,*z++):32;k/3*j–&&p?d[z–,j]=34:0;}}int*y,n=24;

    ——————
    (program exited with code: 238)
    Press return to continue

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir