elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Salida extraña de un codigo extraño
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Salida extraña de un codigo extraño  (Leído 1,318 veces)
ferchundo9

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Salida extraña de un codigo extraño
« en: 20 Octubre 2017, 13:41 »

Alguien sabe como funciona esta locura, la salida es espectacular

Código
  1. #include <stdio.h>
  2. main(t,_,a)
  3. char *a;
  4. {return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
  5. main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
  6. )&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
  7. t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
  8. ,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
  9. +k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
  10. l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
  11. n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
  12. ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
  13. #'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
  14. :t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
  15. +1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
  16. i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
  17.  


« Última modificación: 20 Octubre 2017, 14:59 por engel lex » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.410


ASMático


Ver Perfil WWW
Re: Salida extraña de un codigo extraño
« Respuesta #1 en: 20 Octubre 2017, 16:57 »

Probaste a indentar bien el código? Hecho eso, podrás inspeccionarlo sin mayor problema (pese a la complejidad que pueda tener por hacer tantas operaciones y etc)


En línea

ferchundo9

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Salida extraña de un codigo extraño
« Respuesta #2 en: 20 Octubre 2017, 16:59 »

Pero viste la salida, que es un villancico gigante
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: Salida extraña de un codigo extraño
« Respuesta #3 en: 20 Octubre 2017, 19:52 »

basicamente es un montón de operaciones con punteros a char tal que genera eso

Código
  1. #include < stdio.h >
  2.  main(t, _, a)
  3. char * a; {
  4.  return !0 < t ? t < 3 ? main(-79, -13, a + main(-87, 1 - _,
  5.    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(_,
  6.    t, "@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\
  7. ,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
  8. +k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
  9. l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
  10. n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
  11. ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\
  12. #'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 \
  13. i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"), a + 1);
  14. }

es un "truquito" matematico/algoritmico como cuando te dicen "agarra tu fecha de nacimiento, sima, resta, multiplica, y mira! los ultimos 2 numeros son tu edad"

fijate que se llama varias veces a main y una de ellas es esta cadena extraña, de allí está usando el putchar para darles salida...

fuera de eso, es bastante dificil de "desenredar" porque son varios operadores ternarios, llamadas recursivas y demás
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines