home *** CD-ROM | disk | FTP | other *** search
- Subject: v15i109: International Obfuscated C Code Contest, Part05/07
- Newsgroups: comp.sources.unix
- Sender: sources
- Approved: rsalz@uunet.UU.NET
-
- Submitted-by: Landon Curt Noll <chongo@uts.amdahl.com>
- Posting-number: Volume 15, Issue 109
- Archive-name: ioccc/part05
-
- # This is a shell archive. Remove anything before this line, then
- # unpack it by saving it in a file and typing "sh file". (Files
- # unpacked will be owned by you and have default permissions.)
- #
- # This archive contains:
- #
- # ./1986/Makefile ./1986/README ./1986/applin.c ./1986/applin.hint
- # ./1986/august.c ./1986/august.hint ./1986/bright.c ./1986/bright.hint
- # ./1986/hague.c ./1986/hague.hint ./1986/holloway.c ./1986/holloway.hint
- # ./1986/marshall.c ./1986/marshall.hint ./1986/pawka.c ./1986/pawka.hint
- # ./1986/rules ./1986/stein.c ./1986/stein.hint ./1986/wall.c
- # ./1986/wall.hint
-
- echo x - ./1986/Makefile
- sed -e 's/^X//' > "./1986/Makefile" << '//E*O*F ./1986/Makefile//'
- X# %W% %G% %U%
- X#
- X# 1986 makefile
- X
- XSHELL=/bin/sh
- XWINNERS=marshall hague applin bright stein holloway august pawka wall
- X
- Xall: ${WINNERS}
- X
- Xmarshall: marshall.c
- X cc $? -o $@
- Xhague: hague.c
- X cc $? -o $@
- Xapplin: applin.c
- X cc $? -o $@
- Xbright: bright.c
- X cc $? -o $@
- Xstein: stein.c
- X -rm -f a.out
- X cc $? -o $@
- X -ln $@ a.out
- Xholloway: holloway.c
- X cc $? -o $@
- Xaugust: august.c
- X cc $? -o $@
- Xpawka: pawka.c
- X cc $? -o $@
- Xwall: wall.c
- X cc $? -o $@
- X
- Xclean:
- X rm -f core
- Xclobber: clean
- X rm -f ${WINNERS} a.out
- Xinstall: all
- X @echo are you kidding'??'
- //E*O*F ./1986/Makefile//
-
- echo x - ./1986/README
- sed -e 's/^X//' > "./1986/README" << '//E*O*F ./1986/README//'
- XThe 1986 contest was named: "The Third International Obfuscated C Code Contest"
- X
- XThe rules for 1986 suggested categories due to the success of the 1985
- Xjudging method. The maximum size was increased from 512 to 1024 bytes.
- XLarry Bassel joined as the second official judge.
- X
- XA poll was taken for the worst code for BSD and System V program.
- XThe Bourne Shell (/bin/sh) won for both systems. The BSD finger
- Xprogram took third place.
- X
- XRules and results were posted to net.lang.c and net.unix-wizards.
- XMicro/Systems Journal published started regular publishing of the winners.
- XThe practice of making first announcement of the winners at the Summer
- XUsenix BOF started this year. A notice was posted to net.announce.
- X
- //E*O*F ./1986/README//
-
- echo x - ./1986/applin.c
- sed -e 's/^X//' > "./1986/applin.c" << '//E*O*F ./1986/applin.c//'
- Xcat =13 /*/ >/dev/null 2>&1; echo "Hello, world!"; exit
- X*
- X* This program works under cc, f77, and /bin/sh.
- X*
- X*/; main() {
- X write(
- Xcat-~-cat
- X /*,'(
- X*/
- X ,"Hello, world!"
- X ,
- Xcat); putchar(~-~-~-cat); } /*
- X ,)')
- X end
- X*/
- //E*O*F ./1986/applin.c//
-
- echo x - ./1986/applin.hint
- sed -e 's/^X//' > "./1986/applin.hint" << '//E*O*F ./1986/applin.hint//'
- XMost adaptable program: <hpfcdc!jack> Jack Applin
- X
- X Jack Applin
- X Hewlett-Packard
- X Ft. Collins
- X Colorado
- X USA
- X
- XCompile and/or execute as directed by the documentation.
- X
- XThe judges were so amused by this little program that we created an
- Xaward just for it. This program is portable to the C and Fortran 77
- Xcompilers as well as executable by the bourne shell!
- //E*O*F ./1986/applin.hint//
-
- echo x - ./1986/august.c
- sed -e 's/^X//' > "./1986/august.c" << '//E*O*F ./1986/august.c//'
- Xtypedef struct n{int a:3,
- Xb:29;struct n*c;}t;t*
- Xf();r(){}m(u)t*u;{t*w,*z;
- Xz=u->c,q(z),u->b=z->b*10,
- Xw=u->c=f(),w->a=1,w->c=z->
- Xc;}t*k;g(u)t*u;{t*z,*v,*p,
- X*x;z=u->c,q(z),u->b=z->b,v
- X=z->c,z->a=2,x=z->c=f(),x
- X->a=3,x->b=2,p=x->c=f(),p
- X->c=f(),p->c->a=1,p->c->c=
- Xv;}int i;h(u)t*u;{t*z,*v,*
- Xw;int c,e;z=u->c,v=z->c,q(
- Xv),c=u->b,e=v->b,u->b=z->b
- X,z->a=3,z->b=c+1,e+9>=c&&(
- Xq(z),e=z->b,u->b+=e/c,w=f(
- X),w->b=e%c,w->c=z->c,u->c=
- Xw);}int(*y[4])()={r,m,g,h};
- Xchar *sbrk();main(){t*e,*p,*o;
- Xo=f(),o->c=o,o->b=1,e=f(),
- Xe->a=2,p=e->c=f(),p->b=2,
- Xp->c=o,q(e),e=e->c,(void)write
- X(1,"2.",2);for(;;e=e->c){q(e),
- Xe->b=write(1,&e->b["0123456789"],
- X1);}}t*f(){return i||(i=1000,
- Xk=(t*)sbrk(i*sizeof(t))),k+--i;
- X}q(p)t*p;{(*y[p->a])(p);}
- //E*O*F ./1986/august.c//
-
- echo x - ./1986/august.hint
- sed -e 's/^X//' > "./1986/august.hint" << '//E*O*F ./1986/august.hint//'
- XBest complex task done in a complex way: <augustss@chalmers> Lennart Augustsson
- X
- X Lennart Augustsson
- X Dept. of Comp. Sci.
- X Chalmers University of Technology,
- X 412 96 Gothenburg
- X Sweden
- X
- XThis program computes a specific mathematical value. Simply compile
- Xand give it an infinite amount of stack space and cpu time. Otherwise
- Xjust be satisfied with the approximation displayed just before the core
- Xdump.
- X
- XThis program will pass lint on your system assuming your lint is brave
- Xenough to try and parse it correctly.
- //E*O*F ./1986/august.hint//
-
- echo x - ./1986/bright.c
- sed -e 's/^X//' > "./1986/bright.c" << '//E*O*F ./1986/bright.c//'
- X#include <stdio.h>
- X#define O1O printf
- X#define OlO putchar
- X#define O10 exit
- X#define Ol0 strlen
- X#define QLQ fopen
- X#define OlQ fgetc
- X#define O1Q abs
- X#define QO0 for
- Xtypedef char lOL;
- X
- XlOL*QI[] = {"Use:\012\011dump file\012","Unable to open file '\x25s'\012",
- X "\012"," ",""};
- X
- Xmain(I,Il)
- XlOL*Il[];
- X{ FILE *L;
- X unsigned lO;
- X int Q,OL[' '^'0'],llO = EOF,
- X
- X O=1,l=0,lll=O+O+O+l,OQ=056;
- X lOL*llL="%2x ";
- X (I != 1<<1&&(O1O(QI[0]),O10(1011-1010))),
- X ((L = QLQ(Il[O],"r"))==0&&(O1O(QI[O],Il[O]),O10(O)));
- X lO = I-(O<<l<<O);
- X while (L-l,1)
- X { QO0(Q = 0L;((Q &~(0x10-O))== l);
- X OL[Q++] = OlQ(L));
- X if (OL[0]==llO) break;
- X O1O("\0454x: ",lO);
- X if (I == (1<<1))
- X { QO0(Q=Ol0(QI[O<<O<<1]);Q<Ol0(QI[0]);
- X Q++)O1O((OL[Q]!=llO)?llL:QI[lll],OL[Q]);/*"
- X O10(QI[1O])*/
- X O1O(QI[lll]);{}
- X }
- X QO0 (Q=0L;Q<1<<1<<1<<1<<1;Q+=Q<0100)
- X { (OL[Q]!=llO)? /* 0010 10lOQ 000LQL */
- X ((D(OL[Q])==0&&(*(OL+O1Q(Q-l))=OQ)),
- X OlO(OL[Q])):
- X OlO(1<<(1<<1<<1)<<1);
- X }
- X O1O(QI[01^10^9]);
- X lO+=Q+0+l;}
- X }
- X D(l) { return l>=' '&&l<='\~';
- X}
- //E*O*F ./1986/bright.c//
-
- echo x - ./1986/bright.hint
- sed -e 's/^X//' > "./1986/bright.hint" << '//E*O*F ./1986/bright.hint//'
- XMost useful obfuscation: <dataio!bright> Walter Bright
- X
- XCompile this program and give filenames as arguments. For example try:
- X
- X bright bright.c
- X bright bright
- X
- XMr. Bright exploits the c pre-processor, similar variables and
- Xexcessive shifting to obfuscate an otherwise useful binary display
- Xprogram. This gives you a small example of what it is like to
- Xmaintain the Bourne shell! :-}
- //E*O*F ./1986/bright.hint//
-
- echo x - ./1986/hague.c
- sed -e 's/^X//' > "./1986/hague.c" << '//E*O*F ./1986/hague.c//'
- X#define DIT (
- X#define DAH )
- X#define __DAH ++
- X#define DITDAH *
- X#define DAHDIT for
- X#define DIT_DAH malloc
- X#define DAH_DIT gets
- X#define _DAHDIT char
- X_DAHDIT _DAH_[]="ETIANMSURWDKGOHVFaLaPJBXCYZQb54a3d2f16g7c8a90l?e'b.s;i,d:"
- X;main DIT DAH{_DAHDIT
- XDITDAH _DIT,DITDAH DAH_,DITDAH DIT_,
- XDITDAH _DIT_,DITDAH DIT_DAH DIT
- XDAH,DITDAH DAH_DIT DIT DAH;DAHDIT
- XDIT _DIT=DIT_DAH DIT 81 DAH,DIT_=_DIT
- X__DAH;_DIT==DAH_DIT DIT _DIT DAH;__DIT
- XDIT'\n'DAH DAH DAHDIT DIT DAH_=_DIT;DITDAH
- XDAH_;__DIT DIT DITDAH
- X_DIT_?_DAH DIT DITDAH DIT_ DAH:'?'DAH,__DIT
- XDIT' 'DAH,DAH_ __DAH DAH DAHDIT DIT
- XDITDAH DIT_=2,_DIT_=_DAH_; DITDAH _DIT_&&DIT
- XDITDAH _DIT_!=DIT DITDAH DAH_>='a'? DITDAH
- XDAH_&223:DITDAH DAH_ DAH DAH; DIT
- XDITDAH DIT_ DAH __DAH,_DIT_ __DAH DAH
- XDITDAH DIT_+= DIT DITDAH _DIT_>='a'? DITDAH _DIT_-'a':0
- XDAH;}_DAH DIT DIT_ DAH{ __DIT DIT
- XDIT_>3?_DAH DIT DIT_>>1 DAH:'\0'DAH;return
- XDIT_&1?'-':'.';}__DIT DIT DIT_ DAH _DAHDIT
- XDIT_;{DIT void DAH write DIT 1,&DIT_,1 DAH;}
- //E*O*F ./1986/hague.c//
-
- echo x - ./1986/hague.hint
- sed -e 's/^X//' > "./1986/hague.hint" << '//E*O*F ./1986/hague.hint//'
- XWorst abuse of the C preprocessor: <ukc!jmh> Jim Hague
- X
- X Jim Hague
- X University of Kent at Canterbury
- X Canterbury, Kent
- X UK
- X
- XCompile this program and feed ascii text into standard input. This
- Xprogram is known to pass lint on some systems and abort lint on
- Xothers.
- X
- XThis program was selected for the 1987 t-shirt collection.
- X
- XThink morse code when you ponder this program. Note how use of
- Xsimilar variables can be obfuscating! The author notes that this
- Xprogram implements the international morse standard. Now for extra
- Xcredit, what morse message does the program spell out?
- //E*O*F ./1986/hague.hint//
-
- echo x - ./1986/holloway.c
- sed -e 's/^X//' > "./1986/holloway.c" << '//E*O*F ./1986/holloway.c//'
- X#include "stdio.h"
- X#define e 3
- X#define g (e/e)
- X#define h ((g+e)/2)
- X#define f (e-g-h)
- X#define j (e*e-g)
- X#define k (j-h)
- X#define l(x) tab2[x]/h
- X#define m(n,a) ((n&(a))==(a))
- X
- Xlong tab1[]={ 989L,5L,26L,0L,88319L,123L,0L,9367L };
- Xint tab2[]={ 4,6,10,14,22,26,34,38,46,58,62,74,82,86 };
- X
- Xmain(m1,s) char *s; {
- X int a,b,c,d,o[k],n=(int)s;
- X if(m1==1){ char b[2*j+f-g]; main(l(h+e)+h+e,b); printf(b); }
- X else switch(m1-=h){
- X case f:
- X a=(b=(c=(d=g)<<g)<<g)<<g;
- X return(m(n,a|c)|m(n,b)|m(n,a|d)|m(n,c|d));
- X case h:
- X for(a=f;a<j;++a)if(tab1[a]&&!(tab1[a]%((long)l(n))))return(a);
- X case g:
- X if(n<h)return(g);
- X if(n<j){n-=g;c='D';o[f]=h;o[g]=f;}
- X else{c='\r'-'\b';n-=j-g;o[f]=o[g]=g;}
- X if((b=n)>=e)for(b=g<<g;b<n;++b)o[b]=o[b-h]+o[b-g]+c;
- X return(o[b-g]%n+k-h);
- X default:
- X if(m1-=e) main(m1-g+e+h,s+g); else *(s+g)=f;
- X for(*s=a=f;a<e;) *s=(*s<<e)|main(h+a++,(char *)m1);
- X }
- X}
- //E*O*F ./1986/holloway.c//
-
- echo x - ./1986/holloway.hint
- sed -e 's/^X//' > "./1986/holloway.hint" << '//E*O*F ./1986/holloway.hint//'
- XBest simple task performed in a complex way: <drivax!holloway> Bruce Holloway
- X
- X Bruce Holloway
- X Digital Research, Inc.
- X Monterey, CA
- X USA
- X
- XBelieve it or not, this is the old standard "Hello, world" program
- Xperformed in a very complex way. The judges and the author defy you
- Xdo determine how it does it. It is a good thing that K&R didn't use
- Xthis version as the first C program!
- //E*O*F ./1986/holloway.hint//
-
- echo x - ./1986/marshall.c
- sed -e 's/^X//' > "./1986/marshall.c" << '//E*O*F ./1986/marshall.c//'
- X extern int
- X errno
- X ;char
- X grrr
- X ;main( r,
- X argv, argc ) int argc ,
- X r ; char *argv[];{int P( );
- X#define x int i, j,cc[4];printf(" choo choo\n" ) ;
- Xx ;if (P( ! i ) | cc[ ! j ]
- X& P(j )>2 ? j : i ){* argv[i++ +!-i]
- X; for (i= 0;; i++ );
- X_exit(argv[argc- 2 / cc[1*argc]|-1<<4 ] ) ;printf("%d",P(""));}}
- X P ( a ) char a ; { a ; while( a > " B "
- X /* - by E ricM arsh all- */); }
- //E*O*F ./1986/marshall.c//
-
- echo x - ./1986/marshall.hint
- sed -e 's/^X//' > "./1986/marshall.hint" << '//E*O*F ./1986/marshall.hint//'
- XBest layout: <burdvax!eric> Eric Marshall
- X
- X Eric Marshall
- X System Development Corporation, a Burroughs Company
- X P.O. Box 517
- X Paoli, PA.
- X 19301
- X
- XThis program prints the name of the picture. The layout is somewhat
- Xpretty through it is not the usual sort of output one would expect
- Xfrom printing a program!
- X
- XThis program was slected for the 1987 t-shirt collection.
- X
- XThis program is known to give some C compilers a problems.
- //E*O*F ./1986/marshall.hint//
-
- echo x - ./1986/pawka.c
- sed -e 's/^X//' > "./1986/pawka.c" << '//E*O*F ./1986/pawka.c//'
- X#include "stdio.h"
- X#define xyxx char
- X#define xyyxx putchar
- X#define xyyyxx while
- X#define xxyyyx int
- X#define xxxyyx main
- X#define xyxyxy if
- X#define xyyxyy '\n'
- Xxyxx *xyx [] = {
- X"]I^x[I]k\\I^o[IZ~\\IZ~[I^|[I^l[I^j[I^}[I^n[I]m\\I]h",
- X"]IZx\\IZx[IZk\\IZk[IZo_IZ~\\IZ~[IZ|_IZl_IZj\\IZj]IZ}]IZn_IZm\\IZm_IZh",
- X"]IZx\\IZx[I^k[I\\o]IZ~\\IZ~\\I]|[IZl_I^j]IZ}]I^n[IZm\\IZm_IZh",
- X"]IZx\\IZx[IZk\\IZk[IZo_IZ~\\IZ~_IZ|[IZl_IZj\\IZj]IZ}]IZn_IZm\\IZm]IZh",
- X"]I^x[I]k\\IZo_I^~[I^|[I^l[IZj\\IZj]IZ}]I^n[I]m^IZh",'\0'};/*xyyxyxyxxxyxxxyy*/
- Xxyxx *xyyx; xxyyyx xyyyx,xyyyyx,xyyyyyx=0x59,xyyyyyyx=0x29,/*yxxyxyyyxxyyyxyy*/
- Xxxyx=0x68;xxxyyx(){xyyyyx=0;xyyyxx(xyx[xyyyyx]){xyyx=xyx[xyyyyx++];/*xyyyxxyx*/
- Xxyyyxx(*xyyx){xyyyx= *xyyx++-xyyyyyx;xyyyxx(xyyyx--)xyyxx(*xyyx-xyyyyyyx);/*x*/
- Xxyxyxy(*xyyx==xxyx)xyyxx(xyyxyy);*xyyx++;}}}/*xyxyxyyyyxxyxxxyyyxyyyxyxxyyy*/
- //E*O*F ./1986/pawka.c//
-
- echo x - ./1986/pawka.hint
- sed -e 's/^X//' > "./1986/pawka.hint" << '//E*O*F ./1986/pawka.hint//'
- XMost illegible code: <PAWKA@NOSC-TECR.ARPA> Michael H. Pawka
- X
- X Michael H. Pawka
- X Naval Ocean Systems Center
- X San Diego, Ca
- X 92152
- X
- XThe judges found this entry to be one of hardest to read without the
- Xaid of /lib/cpp and a good editor. When run, the program asks if it
- Xis obfuscated, of all things!
- //E*O*F ./1986/pawka.hint//
-
- echo x - ./1986/rules
- sed -e 's/^X//' > "./1986/rules" << '//E*O*F ./1986/rules//'
- XWARNING: The rules and mailing address for the contest change from year
- X to year. Be sure that you consult the current set of rules
- X before submitting entries.
- X-------------------------------------------------------------------------------
- X
- XSubject: Third International Obfuscated C Code Contest Rules
- XNewsgroups: net.lang.c
- XKeywords: rules,1986,obfuscate,contest
- X
- XGOAL: To write the most Obscure working C program following the rules below:
- X
- XRULES: 1) The source must be 1024 bytes or less. NO exceptions!
- X
- X 2) Include in your letter:
- X a) Name (or anonymous), Company/School, City, State and Country.
- X b) Your path from a major network site, if applicable.
- X c) A brief statement of what the program should do.
- X d) The Machine(s)/Operating system(s) on which it runs.
- X e) Enclose your source between the following lines:
- X ---start of program---
- X <place obfuscated source of 1024 bytes or less here>
- X ---end of program---
- X
- X 3) The entry should be written in common C. (K&R + common extensions)
- X
- X 4) The program must be of original work. All programs must be
- X in the public domain. All copyrighted programs will be rejected.
- X
- X 5) Entries must be received between 31-Mar-86 and 30-May-86 0:00 GMT.
- X Email your entries to:
- X
- X decwrl!nsc!obfuscate
- X
- X Entries sent by UUCP Email will be confirmed starting 1-May-86.
- X People are encouraged to submit entries via Email, however one may
- X mail entries the following address:
- X
- X International Obfuscated C Code Contest
- X National Semiconductor
- X Attn: Landon Noll Mail Stop: 7c266
- X 1135 Kern Ave.
- X Sunnyvale, CA 94086
- X U.S.A.
- X
- XAWARDS: Winners of each category and the best of Show will be posted to
- X net.announce as well as being published in the May 86 issue of the
- X "Micro/Systems Journal". Winners also get to receive international
- X fame/flame for their efforts!
- X
- XJUDGING: Awards will be given to the best entry in a number of categories.
- X The actual category list will vary depending on the types of entries
- X we receive. At the moment, we are considering using the following:
- X
- X * The most obscure algorithm
- X * The worst abuse of the C preprocessor
- X * The strangest source layout
- X * The best small one line program
- X * The most useful program
- X * <anything else we need to give recognition to a good entry>
- X
- X Judging will be done by myself, Larry Bassel and other local people
- X who are willing to help out.
- X
- X We will attempt to run each of them on a Vax 785/4.2BSD system.
- X Don't let the lack of such a system stop you! Try to avoid operating
- X system/machine specific code if you do not have such a system.
- X Extra points will be given for programs which:
- X
- X a) pass lint without complaint
- X b) do something quasi-interesting
- X c) are portable
- X
- X A larger program size was selected to allow for a wider range of
- X program ideas. However if you don't need 1024 bytes don't use them.
- X Given two programs with similar techniques and similar levels of
- X obfuscation, we will tend to favor the more concise entry.
- X
- XPOLL: We want to know what you think is the most poorly coded utility
- X released with 4.xBSD and/or Sys V. The top results plus the
- X best flames will be posted along with the contest results.
- X To vote, please follow the guidelines below:
- X
- X 1) Include at the top of the letter:
- X a) Name (or anonymous), Company/School, City, State and Country.
- X b) Your path from a major network site, if applicable.
- X c) the name of the poorly coded utility
- X d) the name of the operating system on which it is found
- X e) the line: <<<FLAME ON>>>
- X f) up to 1024 bytes of flames
- X g) the line: <<<FLAME OFF>>>
- X
- X 2) Confine your vote to the standard set of commands. I.e., don't
- X flame about local commands or user contributed software.
- X
- X 3) Submit your votes via Email to:
- X
- X for 4.xBSD: decwrl!nsc!bsd_util
- X for Sys V: decwrl!nsc!sysV_util
- X
- X or, you may send your votes by letter to the same address used by
- X the contest. Please place your votes on different sheets of paper.
- X
- Xchongo <C> /\cc/\
- //E*O*F ./1986/rules//
-
- echo x - ./1986/stein.c
- sed -e 's/^X//' > "./1986/stein.c" << '//E*O*F ./1986/stein.c//'
- Xtypedef char*z;O;o;_=33303285;main(b,Z)z Z;{b=(b>=0||(main(b+1,Z+1),*Z=O%(o=(_%
- X25))+'0',O/=o,_/=25))&&(b<1||(O=time(&b)%0250600,main(~5,*(z*)Z),write(1,*(z*)Z
- X,9)));}
- //E*O*F ./1986/stein.c//
-
- echo x - ./1986/stein.hint
- sed -e 's/^X//' > "./1986/stein.hint" << '//E*O*F ./1986/stein.hint//'
- XBest one liner: <gustaf!cd-jan> Jan Stein
- X
- XNOTE: to avoid problems with news and mail, the single line was split
- X into 3 lines. Join all lines into a single line to recreate
- X the original file.
- X
- XCompile and link to a filename called 'a.out'. Try the program with the
- Xfollowing argument:
- X
- X a.out ^N^N
- X
- X(^N is ASCII control-N). One some machines, ^M^L is needed to get it to
- Xoutput cleanly. Your system may require another set of characters.
- XIn time, you will figure out what it does. :-)
- //E*O*F ./1986/stein.hint//
-
- echo x - ./1986/wall.c
- sed -e 's/^X//' > "./1986/wall.c" << '//E*O*F ./1986/wall.c//'
- X#define _c(C)_ (C)&('|'+3):c_()(C)>>('\n'-3) __; /**/
- X#define C char*
- X#define keyboard ",,B3-u;.(&*5., /(b*(1\036!a%\031m,,,,,\r\n"
- X#define main(o,oo)oo(o){
- X#define _ ;case
- XC
- X#define c_(cc)c cc=
- X#define C_(sand)_O(sand)witch
- Xo=keyboard;
- X#define __ ;break;
- XC
- Xccc(
- Xcc)
- XC
- Xcc;
- X{
- XC
- Xcccc=
- Xcc;int
- X#ifndef lint
- X#define keyboard "dijs QH.soav Vdtnsaoh DmfpaksoQz;kkt oa, -dijs"
- X#endif
- Xc;
- Xmain(;c_(=(*cc);*cc++)c,for);
- X#define _O(s)s
- Xmain(0xb+(c>>5),C_(s))
- X_'\v'
- X:__ _'\f':
- Xmain(c,C_(s));
- X_c(8098)_c(6055)_c(14779)_c(10682)
- X#define O_(O)_O(O)stem(ccc(
- X_c(15276)_c(11196)_c(15150)
- X#define _C ;return
- X_c(11070)_c(15663)_c(11583)
- X}
- X__
- Xdefault
- X:c_(+)o[c&__LINE__-007];
- Xmain(c_(-)'-'-1,C_(s))_
- X0214
- X:_
- X0216
- X:c_(+)025 _
- X0207
- X:c_(-)4 _
- X0233
- X:c_(+)' '-1;
- X}}c_(&)'z'+5;
- X}_C cccc;
- X}main(,cc)
- XC
- X#define O write(1,
- Xc="O";
- XO_(sy) keyboard));
- Xmain(;;,for);
- Xread(0,
- Xc,1);*
- Xc_(&)'~'+1
- X;O ccc(
- Xc),
- X'\0');
- Xmain(*c,
- XC_(s));_
- X4
- X:O_(sy)";kkt -oa, dijszdijs QQ"))_C
- X_
- X13
- X:O o+' ',
- X3
- X)
- X#undef main
- X__ _ 127:O"\b \b",3)__
- Xdefault
- X:O
- Xc,1)
- X__}}}main(){
- Xcc();
- X}
- //E*O*F ./1986/wall.c//
-
- echo x - ./1986/wall.hint
- sed -e 's/^X//' > "./1986/wall.hint" << '//E*O*F ./1986/wall.hint//'
- XThe grand prize in most well-rounded in confusion: <sdcrdcf!lwall> Larry Wall
- X
- X Larry Wall
- X System Development Corporation
- X Santa Monica
- X California
- X US of A
- X
- XThe original version did not have a `;' character in the first line.
- XThis caused a number of System V C pre-preprocessors to gripe about a
- Xsyntax error.
- X
- XThis program is a masterpiece of obfuscation and humor. Larry Wall
- X(the hacker who gave us rn and patch) asks you to compile and consider
- Xthe warning message generated by the C compiler. Then execute the
- Xprogram and type charters into its standard input. You will see why
- Xthe compiler documents the program.
- //E*O*F ./1986/wall.hint//
-
- echo Possible errors detected by \'wc\' [hopefully none]:
- temp=/tmp/shar$$
- trap "rm -f $temp; exit" 0 1 2 3 15
- cat > $temp <<\!!!
- 36 96 530 Makefile
- 15 115 715 README
- 15 37 243 applin.c
- 13 57 358 applin.hint
- 26 34 718 august.c
- 15 79 514 august.hint
- 47 111 1020 bright.c
- 11 57 386 bright.hint
- 28 118 991 hague.c
- 17 93 578 hague.hint
- 33 72 912 holloway.c
- 11 66 381 holloway.hint
- 14 87 938 marshall.c
- 15 68 425 marshall.hint
- 18 41 838 pawka.c
- 10 51 300 pawka.hint
- 103 634 4048 rules
- 3 5 168 stein.c
- 14 85 501 stein.hint
- 78 125 1025 wall.c
- 17 103 625 wall.hint
- 539 2134 16214 total
- !!!
- wc ./1986/Makefile ./1986/README ./1986/applin.c ./1986/applin.hint ./1986/august.c ./1986/august.hint ./1986/bright.c ./1986/bright.hint ./1986/hague.c ./1986/hague.hint ./1986/holloway.c ./1986/holloway.hint ./1986/marshall.c ./1986/marshall.hint ./1986/pawka.c ./1986/pawka.hint ./1986/rules ./1986/stein.c ./1986/stein.hint ./1986/wall.c ./1986/wall.hint | sed 's=[^ ]*/==' | diff -b $temp -
- exit 0
-
-