16th IOCCC Winners Announced
chongo writes: "The winners of the 16th International Obfuscated C Code Contest (IOCCC) have been selected.
The judges are in the process of notifying the winners by EMail. We expect to release the source code around mid April 2002 after the winners have had a chance to review our writeup of their entries."
I think you just notified them via Slashdot.
The Shadow Government Knows
tcd004
> We expect to release the source code
> around mid April 2002
Will we also get a translation in assembler to help clarify the soure code?
Looks like this site is now the winner of todays International Obfuscated Website Contest due to the /. effect.
.
Quidquid latine dictum sit altum viditur
Yeah! I said the same thing when they started giving out awards for the worst academic prose. But no one listened, and now there are hordes of people going into philosophy and English just to win prestigious awards for terrible prose. And don't get me started on the Razzies, which have clearly encouraged intentionally poor filmmaking. I mean, why would you purposely award bad things? Oh, the humanity!
GPL ABUSER has WON the IOCCC CODE CONTEST!
The winner on this years contest is Microsoft for their submission of
Microsoft Corporation End User Agreement
Contributed by an anonymous user.
Every time I hear about the IOCCC I'm reminded of this old anecdote:
The highlight of the annual Computer Bowl occurred when Bill Gates, who was a judge, posed the following question to the contestants:
"What contest, held via Usenet, is dedicated to examples of weird, obscure, bizarre, and really bad programming?"
After a moment of silence, Jean-Louis Gassee (ex-honcho at Apple) hit his buzzer and answered "Windows."
Mr. Bill's expression was, in the words of one who was there, "classic."
(source)
"There are already a million monkeys on a million typewriters, and Usenet is NOTHING like Shakespeare." - Blair Houghton
#include <stdio.h> ,m ),A(n ,i))() {B (A(h,c ),A(r ,a ))*p=x ;B(A( n, i),t)t ,A(r, o )) (;*p;Q( p)++){C( B( A(c,t) ,h),B(A( ,s ++)Z( 1,t+= 8 ;,s++ )Z ,putchar(t-73);t=s=0)}}})
#define S(s)char x[]=#s;s
#define Q(x)x
#define A(x,y)y##x
#define B(x,y)A(y,x)
#define C(x,y)B(y,x)
#define Z(s,t,u)case s:if(*p!=32){t;}else{u;}break;
S(B( A( a
=0;B(A(n , i),t)s =0;B( f
w, s),i))( s){ Z( 0,t+=8 *8-00
( 2, t++
Best Abuse of User: Edward Rosten (England) - Greasy mouse
also qualifies for the Iron Chef competition. Or am I alone in thinking that Greasy Mouse sounds like some sort of England variant on Chinese/Indian cookery? *grin* (I can't wait to see this entry. I love the Abuse of User programs...)
This flies in the face of science.
The contributors, winners, judges and just about
anyone who has anything to do with IOCCC, should
be in your "not to hire" black-list.
Unless you want your project to be implemented as
a self-printing pelindromic asciiz, that has a built in tetris.
--
Thats easy, just code C# and it looks like Java.
----- Whats wrong with this picture? http://www.revoh.org:1234/whatswrong
And of course, let's not forget The Bulwer-Lytton Contest.
The 1996 Winner, my favorite sentence of all time:
"Ace, watch your head!" hissed Wanda urgently, yet somehow provocatively, through red, full, sensuous lips, but he couldn't you know, since nobody can actually watch more than part of his nose or a little cheek or lips if he really tries, but he appreciated her warning."
Is there a secret society of Grand Master programmers
I sense much fear in this one. Train you, I cannot.
Give them an inch and they'll take a foot. Much more than that, you won't have a leg to stand on.
Well, unfortunately it's not always that simple. Let's take the Shiny Metal Brute Force Crypt Cracker v3.1.9 as an example. It can crack every single password encrypted with crypt(3) containing 1 to 8 lowercase latin letters. It uses a sophisticated cryptoanalysis method, which scientists call the "Brute Force". Its main purpose is to hide domain of my electronic-mail address from spammers (see my bio). Here's the source code:
#!/usr/bin/perl
#
# Shiny Metal Brute Force Crypt Cracker v3.1.9
#
# Copyright (C) 2001,2002 shiny@key.salt (shiny@output)
# http://slashdot.org/~Shiny+Metal+S./
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General
# Public License along with this program;
# if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
$x=substr$q,q,0,,q,2,if$q=q,plfeY04jaJnYI,;for
(++$_..$_<<3){qq,$q,eq crypt$_,$x and die
qq,$_.$x,for q,a,x$_..q,z,x$_}
As you can clearly see, the main algorithm used in this program (in the main loop) is able to always find every password (from the 1-8 lowercase latin characters set) but what does it mean? I had to use strong cryptography, because otherwise my electronic-mail address could be harvested by spambots (and therefore be used to perform unsolicited commercial mass mailing), but it also means, that this algorithm could be used to crack passwords from your /etc/passwd (or even from /etc/shadow),
which usually contain passwords
encrypted with crypt(3)
and this could compromise
the whole system security
(imagine hackers having
unlimited
access to your PC).
It's a very dangerous problem.
Most of password cracking tools use the,
so called,
"Dictionary Method"
to guess passwords,
which mean that you're safe as long as you have
a password like "wmctsbvg" or
"obwhdrle" or even
"awxolfrk", but this program will guess such passwords.
My point is, that it can be to dangerous
to publish a clear and well documented
source code to such a dangerous tool.
It could be used by one of many
underground
hacker groups,
like the famous
Script Kiddies,
who don't even care that reverse engineering
of this code is illegal under the DMCA.
Fortunately, this program was written in
Perl, which
was found
to be the only language,
with mathematically proved
possibility of secure one-way obfuscating
(also known as WOL - "write only language",
or WORN paradigm - "write once - read never"),
so it is impossible to reverse engineer.
The situation will be even improved when
Perl 6
is released
(read Apocalypse I,
Apocalypse II,
Exegesis II,
Apocalypse III,
Exegesis III and
Apocalypse IV
for a good introduction to this subject).
That way, people can still use crypt(3) to
encrypt their passwords, with no fear that
hackers know how to crack them,
the crypt(3) encryption method is as secure as
before.
When this program will be rewriten in Perl 6,
the crypt(3) method
will be actually even
more secure than before,
thanks to the strong source code
obfuscation method.
I hope I explained where the
obfuscated code can be useful,
but this is only one example,
I'm sure there are many places where
the good old obfuscation will
be priceless for many decades.
If you have any additional questions,
feel free to contact me.
~shiny
WILL HACK FOR $$$
The winners will be notified by Obsfucated Email guised as spam.
Linux - Because Mommy taught me to Share.
Let's see some obfuscated Ruby programs.
Or obfuscated perl scripts. Oh, wait a minute...
MSN 8: Now Microsoft even has bugs in their ad campaigns.