code help

Aleix aleixof at tinet.cat
Fri Nov 26 02:27:01 PST 2010


On Tuesday 16 November 2010 00:49:35 Mike Hollis wrote:
>  I ran across this code in a C tutorial. It compiles without error but I
> having trouble understanding the output. Perhaps someone could 
help me
> out.
>
> #include <stdio.h>
>
> main(t,_,a)
> char *a;
> {return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
> main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
> )&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" 
):9:16:t<0?t<-72?main(_,
> t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,
+,/n{n+\
> ,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l 
q#'+d'K#!/\
> +k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# 
){n\
> l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
> n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
> ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
> #'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
>
> :t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == 
'/')+t,_,a\
>
> +1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
> i at bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
>
> Thanks,
>
> ---- Mike Hollis ----
This is a version of the code a little bit more readable with the same 
output:

#include <stdio.h>

main(t,_,a) 
char *a;
{
		//without "return" all remains de same
  !0<t?
    
    t<3?     
      main(-79,-13,a+main(-87,1-_,main(-86, 0, a+1 )+a)) 
    :0, 	
      t<_ ?
	main(t+1, _, a )
      :0,       
	main ( -94, -27+t, a)&&t == 2 ?
	  _<13 ?
	    main ( 2, _+1, "%s %d %d\n" )
	 :0    
        :0    
  :
  
    t<0?
      t<-72?
	main(_,t,"@n'+,#'/*{}w+/w#cdnr/+,
{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l 
q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# )
{n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
      :
	t<-50?
	  _==*a ?
	    putchar(a[31])
	  :main(-65,_,a+1)
	:main((*a == '/')+t,_,a+1 )
    :
      0<t?
	main ( 2, 2 , "%s")
      :*a=='/'||main(0,main(-61,*a, "!ek;dc \
i at bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);
}

I tried to debug it with gdb but i didn't understand nothing, 
I'm sorry, the most misterious is the form that enter the text: 
(@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,
+,/n{n+\
,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l 
q#'+d'K#!/\
+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# )
{n\
l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
#'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/) 
it may be crypted in any way.
ciao
Aleix Ortí



More information about the lfs-chat mailing list