 |

Giving you spark and light
Obfuscate: a. To render
obscure.
b. To darken.
[latin. obfuscare, to darken]
Obfuscated greetings
What are the strange hieroglyphics on the verifaction mugs? They
are programs, written in the spirit of the IOCCC (The International Obfuscated C Code
Contest). The overall winner is whoever produces the most unreadable,
creative, and bizarre (but working) C program; various other prizes
are awarded at the judges' whim. C's terse syntax and macro-preprocessor
facilities give contestants a lot of room to maneuvre. The winning
programs often manage to be simultaneously (a) funny, (b) breathtaking
works of art, and (c) horrible examples of how not to code in C.
On this page you'll find examples of obfuscated code written by verifactionites
in both C and perl. All the programs on this page can be cut and pasted
into your favourite C compiler or perl interpreter, to produce amusing
yet completely useless output.
main(i
,z){float a[
32],b=3,c;for(c=i=
0;i<32;)a[i++]=2;for(z
=590;z--;a[0]+=(a[0]>78||
a[0]<2)?b=-b*.9:b,a[1]=(a[
1]+(c+=0.2)>22)?c=-c*.999,
22:a[1]+c)for(i=31;i;a[i]=
i-1?a[i-2]:a[i],i--)if(i%2
)printf("\033[%d;%dH%c"
"\n",(int)a[i],(int)a[
i-1],1^"Awdshg@bu"
"hno///!"[i/2
]);}
|

Click picture for larger version |
main(f,u,n){for(u=n=9;n+11
;) putchar(--u+29?(u-16)
/15||n/9?(u*u/3+n*n
-30)/12?32:37:1^
"dshg@buhnoAw"
[f++%12]:(u
=50,n--,
10 ))
;}
|
 |
main(
w,h,a,t
){int x
[1680
],y[
1680]
;for( h=0; h< 1680;y[h
++]=0 );for (;;w++){for (h=0;h<
1680; h++)x [h]=w -1?w%20?h/
9-97? y[h]: 1:y[h ]:0; puts(
"\033" "[H") ;for( h=71; h+0<
1610; h++){ for(t=a=0;a <3;a ++)t
+=x[h +69+a ]+x[h+a-71] +(a-1?x[h+a-
1]:0) ;y[h] =x[h] ?t<2?
0:t>3 ?0:x[ h]:t- 3?x[h
]:1;putchar (h%70 ?y[h] ?1^"dshg"
"@bhnoAw"[h %12]:32 :10); }delay(100); }}
|

Click picture for larger version |
char *z="\ACGT\000\
CG\
T--A\
C---G\
G----C\
C----G\
G---C\
C--G\
CG\
GC\
A--T\
T---A\
C----G\
G----C\
C---G\
C--G\
GC\
CG\
G--C\
C---G\
G----C\
C----G\
A---T\
A--T\
CG\
GC\
C--G\
T---A\
A----T\
G----C\
A---T\
G--C\
TA\
CG\
G--C\
G---C\
C----G\
C----G\
G---C\
T--A\
TA\
GC\
C--G\
A---T\
C----G"
;main(n
){char
*c=z+
4;int
i=0,p
=0,t=0
;while(
*++c){
for(n=
0;z[
n]
&&
z[n]
!=*c;n
++);if
(n-4&&
(i/16
%2+
i++
+1)%
2)if(
t=t*4+
n,++p%
4==0)
{putchar
(t);t=0
;}}}
|
 |
// .
main (
T,u,x )
{x=0; //
while(u= //
"iLiLbLd+" //.
"ZOiLiLaL[" //
"cLa+(OiLiL" "L"
"[cL[bLVOiLiL" "["
"eL(OiLgLiVVOi" "L"
"hLHfLHOiLhLHT;U" //
"LT;UHOiLhLHTdLUH" "O"
"iLhLHL(b+[LHOiLhL" "H"
"fLHOiLgLa[JdLJa(OiL" "f"
"La[aLxuz!" "$aLa(Oi" "L"
"dL+a[\"1>" "52m/@5;:" "a("
"+OiLcLTLa" "(iLLa[LU" "Oi"
"LcL[aL(U" "h+T[aL(" "Oi"
"LcL(bL(" "h+[bL[O" "iL"
"cLTc+Uf" "LTc+UaO" "\"1"
">52m/@5" ";:LbZL3" "5B5"
":3LE;AL" "?<->7L-:0L8"
"534@L5" ":L^a\\FMa"
"LaOL"[x ++]){if(u
>=97&&u <=105)T=u
-95 ; else{u=
(u+20)% 96+32
;while (T--
>=1)// VX/
printf (
"%c",
(u-
35?(
u-//
122?
u:53
):10
))
;T
=1
;}
}}
//
|
 |
# $_ ="00 V6960T 42363340 T222225222 220T21412521 4120T34353430U 8780X3:30WC0SK0O 966680<5;=393247;3 0;966191:242325680;3 1725353214331;351;0173 35856574;58434701=756847 371455631:0779557752363358 80:28;245325236229740CA69337 =0B487674337740B38C6<930B3835G 35730854383<:<3835406>83R38>0542 7:4Q39923042G3P3E20G9P50E:R:0E7W80 0";for( $v=32;s /.\s*//;$v=$w?$v ^96:32){$w=ord() -48;print$w?chr ($v)x$w:"\n";}
FSM? |

Click picture for larger version |
| |