18th International Obfuscated C Code Contest Opens
chongo writes "The 18th International Obfuscated C Code Contest, the Internet's
longest running contest, is now open. The goals,
rules, and guidelines are available. Use the online submission tool to submit your obfuscated C code by 22-May-2005 23:59:59 UTC."
Here are some past winners with "Spoilers" for what they do. It's already pretty slow though and I'm first post.
Webmaster Wanted - Entropic Reactions
Trolling using another account since 2005.
The legacy code I have to work on must be submitted. No body knows how it works and there is no documentation.
~Aha~
Line 20 will never execute unless you return from Hell. Yes, Jesus, I mean you.
Stupid HTML that ignores white space. It looks kinda cool in the source of the page.
Hey, don't bring me into this!
Besides, if Keanu Reeves can do it, anyone can.
DOS C:\DOS C:\DOS\RUN RUN DOS RUN.. Wait... that's C isn't it? God damn it. I'll never win at this rate...
executeBrainFuckLanguageInterpreter(">>-+>+[>]+[-[ [>]-]>-[>]-]]");
Table-ized A.I.
www.tw.ioccc.org - Hsin-Chu, Taiwan
www.au.ioccc.org - Sydney, Australia
www.de.ioccc.org - Frankfurt/Main, Germany
www.es.ioccc.org - Madrid, Spain
www.gr.ioccc.org - Athens, Greece
www0.us.ioccc.org - Sunnyvale California, US
www1.us.ioccc.org - Saint Paul, Minnesota US
Well, he's supposed to resurrect on Sunday, then, which makes him just a little slower than Linux which can do endless loops in 6 seconds.
Trolling using another account since 2005.
is there a similar contest for Perl? I imagine much crazier submissions with Perl than what can be done with C (no offense to C programmers ;))
"You mortals are so obtuse." -Q
Once upon a midnight dreary, gcc compiled, growing weak and weary,
code obfuscated like ne'er seen before.
I could hear a faint grinding,
As the preprocessor went on finding,
it was a noise I could plainly say I abhor.
T'was an executable destined to dump quite a core.
It was a nice sunny day, I remember, in May,
and there lay pizza boxes scattered all o'er the floor.
But because of this Gentoo, I felt I was being sent to
the depths of hell for damnation evermore.
All for a program that would dump its core.
In time, day diminished, and gcc was finished,
and the program was a size worthy of lore,
because of the a.out, my hard drive near ran out,
as the program took up gigabytes galore,
and when I ran it, quoth the output, "I've just dumped a core."
Will anyone be able to top the venerable 12 days?
Error: Too much recursion.
Compile with -fwritable-strings, run, type in a number like 20, find your way out...
,C --Z ]=A,"_.":" |"];}
char*M,A,Z,E=40,J[40],T[40];main(C){for( *J=A=scanf(M="%d",&C);
-- E; J[ E] =T
[E ]= E) printf("._"); for(;(A-=Z=!Z) || (printf("\n|"
) , A = 39
) ; Z || printf (M ))M[Z]=Z[A-(E =A[J-Z])&&!C
& A == T[ A]
|6<<27<rand()||!C&!Z?J[T[E]=T[A]]=E,J[T[A]=A-
If you haven't been there yet, you should check out TheDailyWTF... it's not obfuscated code, but rather unmaintainable code people submit to show what they've been left to deal with at work. Quite interesting, and sometimes as difficult to understand as intentionally obfuscated code.
500GB of disk, 5TB of transfer, $5.95/mo
Full text of rules.txt
You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
"With a little practice, language can become a complete impediment to understanding"
But what's the point? Why expend all that effort on obfuscating code when there are languages with obfuscation already built in?
May your signals all trap
...
May your references be bounded
All memory aligned
Floats to ints rounded
Remember
Non-zero is true
++ adds one
Arrays start with zero
And NULL is for none
For octal, use zero
0x means hex
= will set
== means test
use -> for a pointer
a dot if its not
? : is confusing
use them a lot
a.out is your program
there's no U in foobar
And char (*(*x())[])() is a function returning a pointer to an array of pointers to functions returning char.
Wasn't there some kind of obfuscated vote counting software contest announced before the recent US election? I would like to see some of the entrants into that.
Gotta blow off steam somehow.
Yes you are, you retard.
This I love - One guy went and had the first ever entry in the ioccc (from 1984) tattooed on his forearm ...
http://tattoo.thomasscovell.com/index.html
This I also love - the first ever entry was a hello world program!
That entry was the longest one ever made into a tattoo, however there are hundreds of people around the world who have unknowingly had this entry tattoed on their forearm:
http://www.de.ioccc.org/years.html#1994_smr
This is really a great competition - lots of fun, lots to learn. Try understanding how some of the entries work, its really a challenge sometimes, and you can learn plenty about C and the preprocessor.
Like... posting on Slashdot?
a) a contest
b) held via Usenet.
Unproductive labor is bad. Only productive units can be allowed in hive. Workers who waste energy must be sent to the vats. It is therefore in interests of workers to be productive. To conserve energy. To obey.
(This message brought to you by the World Utilitarian Council).
Whence? Hence. Whither? Thither.
As we all know, programming and fun are mutually exclusive. It's completely inconceivable that someone might have, I don't know, a good time writing code.
--
the strongest word is still the word "free"
Yes, they do have this in Perl. It's called programming.
B: Why did the chicken cross the road?
A: Windows sucks!
telnet.c
They certainly achieve their goal of showing how bad caode can be and also of providing a safe forum for amazing C code.
I have also learnt much better how to program in C, even for unobfuscated code. There is nothing like going through some of these entries to understand much better how the preprocessor works, and how compilers react to differrent constructs.
So, the only goal left is that of stressing the C compilers
I actually quite liked Hibachi. And not just for the animated logo! You can even run multiple instances on separate ports, and use NAT and port forwarding to get a poor man's virtual server setup.
I'd recommend you stick to v1.0 {which is actually PD}, for licencing reasons. The v2.8 licence is unnecessarily restrictive.
Je fume. Tu fumes. Nous fûmes!
alternative server at the same domain
Running the above will generate different output from the original, due to the extra spaces in the strings (near the top), apparently added by Slashdot. The original is at 2004/gavare.c (relative to one of the IOCCC mirrors).
It's a great program; one that has been distracting me since March 1st!
Let me know if you have an open postdoc position. -braney
Go talking to Nils HellStrom... He would tell you how far your are from reality.
Workers in the hive only work. They are selected at birth to be workers. And bad workers won't be sent to the "cuve", because of their weakness (being bad workers). It's not that unproductive labor is bad, it's that in the hive every work is productive.
Well, on a such geeky website, I'd never had imagined telling someone : "Go back first school reading Herbert" =o)
We ought to submit the code for WIndows?
The instruction at "0x00401234" referenced memory at "0x0042202d". The memory could not be "written".
Click on OK to terminate the program
Click on CANCEL to debug the program
OK Cancel
~Aha~
Wow! I'll be sure to send this to the guys at the Indian delivery team my company is using. I am quite sure I could find a winner there!
/ Anonymous Architect Guy
Use a real compiler that understands -fwritable-strings
Comment removed based on user account deletion
Whoosh! I'll explain the scenario:
No one knew the answer to the quiz question. When it became obvious no one was going to respond, Gassée decided to be facetious with that smug we're-better-than-everyone-else 1980s hubris that would later bring "old Apple" to its knees ("we're so cool we don't need to think about modernizing our OS architecture - you'll never be as good as us").
It's hardly surprising Gates had no pity for Apple during the "GUI OS war" and probably relished seeing that smug attitude pounded into the dirt.
And it's very fortunate for Apple that when Jobs returned to save it from bankruptcy, he took a groveling stance towards Gates and told the fanboys, "Microsoft is not the enemy. For Apple to survive, we have to do a really good job." A much better attitude than a smartass remark designed to antagonize an extremely powerful man.
This clearly has no hacker cred what so ever if Visual Studio won't compile it!
(Real men use visual basic!!!!)
Worked beautifully for me using gcc, like so:
gcc -fwritable-strings -o maze maze.c
The only surefire protection against Microsoft infections is abstinence. - The Onion
..
Rule 7. No one shall submit code that contains swear words in the comments.
and this
Rule 13. No one shall submit code that was developed with the help of Satan or any of his little helpers.
You didn't even get it right, tard.
And she never replied back. Of course she knew programming.
i j%yjf%gjktwj%mjfinsl%mtrj$");putchar(012);dc("Nx%n y%utxxngqj%ytif~D%`~jx4stb%");gets(t);(!strcasecmp (t, "yes"))? ) ; }% ~tz %ktw%wzssnsl%ymnx");
int ec(int c){return c-5;}
void dc(char *s){if(*s){putchar (ec(*s));dc(s+1);}}
int fp();se(f){f&1?fp():f&2?
fp2(): f&4 ? fp3():0;}
fp(){char t[4] = "";dc("N%fr%ytt%ynwji%ytif~33%|fsy%f%ltti%mtrj%rf
se(2):se(4);}
fp2(){char s[21]="";dc("|mfy%ynrj%hfs%N%iwtu%nsD%");gets(s);
dc("N%|nqq%gj%ymjwj%g~%");puts(s);dc("Ymfsp%~tz"
fp3(){dc("N%fr%xt%xfi33333%");dc("Fs~|f~%ymfsp
putchar(012); }
main(){se(1);}
#include std_disclaimer.h
Ive seen obfuscated DVD decryption code..
But what happens if someone submits obfuscated SCO code? Heck, what happens if someone submits code that used to be proprietary? Noone really checks, and say the code gets printed on T-shirts and the like, and is discovered by the owners, wonder what the consequences will be.
I'll just send my sendmail.cf
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
All work and no play....
.... I think this is one of the more useful pastimes, at least these people learned something while having fun.
Seriously if I see what most people do for the play part, watching TV, reading slashdot,
It's not like most people are productive 16 hours a day (or more if they sleep less than 8 hours).
Artists against online scams http://www.aa419.org/
"Obfuscated C Code"
He said to compile with "-fwritable-strings".
I don't know if VC has an option for it, but what it does is allow you to write to string constants. Without it, it will segfault.
Many people can write code, fewer people can write good code.
The many who do not write good code also produce obfuscated code without even trying. This is particularly true with large projects, done by groups, over time, and with limited oversight.
Another interesting contest would be to see how fast different people could figure out such code.
Yep, that's why you need -fwritabe-strings in gcc. Old C compilers (remember this was written almost 20 years ago) let you write to constant strings (that is to say, they weren't constant in the first place). MSVS probably has an option for this.
I've been wanting to get a cool tatoo for a while now...
A NON-obfuscated Perl contest?
I've always thought that slashdot should hold an obfuscated english contest...
Choose yer poison: Prophets or Profits
Writing unmaintainable code.
Looks like line noise.
I always thought slashdot was an obfuscated english contest!
Ardente veritate incendite tenebras mundi
...or did any other web developers get their wires crossed when they read "18th International" and thought this had something to do with "I18N"?
Try this:
Whitespace
It is so obfuscated, you cannot even see it!
Someone submitted the leaked Windows source code.
Microsoft has been declared the winner.
Beauty is in the eye of the beerholder.
Comment removed based on user account deletion
On the other hand, I think such a contest for C++ would produce even more obfuscated code than IOCCC. Think about what could be done with just:
- operator overloading
- multiple inheritance...
The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
Actually, you should submit all unintentionally horrible code to The Daily WTF instead. Great site.:)
Is this a sigs-optional kind of place? 'Cause I am totally down with that if you know what I mean.
Stuff.
Dude, where's my code?
It's not offtopic, dumbass. It's orthogonal.
"Military Intelligence" an "Microsoft Works" are oxymora. "Dead Corpse" and "Obfuscated C Code" are redundancies. Hope that helps. Have a nice day.^-^
Is this a sigs-optional kind of place? 'Cause I am totally down with that if you know what I mean.
I remember one from years and years ago that I believe was published in Dr. Dobbs. It as a C source listing that had all kinds of 3.14s etc in it and the code was literally formatted to look like pi, however it calculated e. Does anyone remember it or have it?
Um, what is the point of this ?
Posted by timothy on Wednesday March 23, @02:19AM
Contest Over: 22-May-2005 23:59:59 UTC
Could you give me some warning next time?
Linux which can do endless loops in 6 seconds.
That article you linked is ten years old, I really think Linux have improved since then.
First you have to make your own definition of rand() because Windows' rand() only returns 15 bits worth, and the program will be very boring if you don't extend the range. Next, to get around the -fwritable-strings issue, try using char M[3] = "%d" instead of char* M and M = "%d". Your code will look something like:These changes work under Visual C++ 6.0.
p.s. It would also work to put M[3] = "" and use scanf("%d",&C).
Posted by timothy on Wednesday March 23, @02:19AM
Contest Over: 22-May-2005 23:59:59 UTC
Troll much lately?
Well, unless of course a serious error occurs in Hell, raising an exception at which point you simply "resume next".
Don't forget to wipe your chin when you're done. Mr. Gates doesn't like it when you dribble afterwards.
"It is difficult to get a man to understand something when his salary depends upon his not understanding it."
Well, it would seem there is a Ruby IORCC contest as well, with over 1000 USD in prizes and big name sponsors. I can't help but imagine which contest they got their brilliant ideas from :) I would know, I'm shamelessly plugging the IORCC.
http://iorcc.dyndns.org/
Looks promising, entry window ends at the end of this month.
Enjoy
--- Old Time NeXThead
Always willing, and never rejected.
I don't mind being called a pussy..
R.C.
Once upon a midnight dreary,
while I websurfed, weak and weary,
Over many a strange and spurious
website of hot chicks galore,
While I clicked my fav'rite bookmark,
suddenly there came a warning,
And my heart was filled with mourning,
mourning for my dear amour.
'Tis not possible, I muttered,
give me back my cheap hardcore! --
Quoth the server, "404".
Vino, gyno, and techno -Bruce Sterling
I'm not worthy.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.