Nuevas NORMAS para el foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Julio 26, 2008, 07:09:44
Boton Buscar
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: Codigos confusos en C! exelentes para practicar, para desifrar el codigo! (Leído 471 veces)
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
en:
Noviembre 21, 2007, 09:32:31 »
hola, miren lo que encontre (estaba el link en un post que encontre de casualidad), es una lista de programas que estan "confusos", los programas funcionan, pero son confusos por la forma que lo diseñaron, no porque el que lo diseño sea malo, sino porque esa era la regla, miren un ejemplo:
Código:
#include <stdio.h>
#define l "=================================================="
#define m " "
int _(
float x,
float y){
return x>=0&&x<50&&y>=0&&y<20;}
int main (){
char a[2][20][51],c[9][4][51][51],d[100];
int e,f,g,h=0,i,j=0,k,b=0,n[9],o[9],p[9],x[9],y[9],q[9],r,s,t;
float u[9],v[9],w[9],z[9];
printf ("i%s\033Yppppppppppppppppppp1G0",l);
do sprintf(a[0][j],"%s",m,
sprintf (a[1][j],"%s",l));
while (++j<20);
scanf ("%d %d\n",&r,&s);
gets (d);
do {
sscanf (d,"%d %d %f %f %f %f %d %d %d",&o[b],&p[b],&u[b],&v[b],&w[b],&z[b],&x[b],&y[b],&q[b],j=n[b]=i=0);
do do c[b][i][j][x[b]]=!
gets (c[b][i][j]);
while (++j<y[b]);
while (++i<q[b]+(j=0)||!++b);}
while (
gets (d)||(i=t=e=f=0));
do {
do strncpy(a[h][i],m,50);
while (++i<20||(i=0));
do if (t>=o[i]&&t<=p[i]&&!(k=j=0))
do do if (_(u[i]+k,v[i]+j))a[h][(
int )v[i]+j][(
int )u[i]+k]=c[i][n[i]][j][k];
while (++k<x[i]);
while (++j<y[i]+(k=0)||((++n[i]-q[i]||(n[i]=0)),u[i]+=w[i],v[i]+=z[i],0));
while (++i<b||(k=j=g=0));
do do if (a[1-h][j][k]!=a[h][j][k]){f-j&&
printf ("%dG0",j+1,e=0,g+=4);k&&e>k&&
printf ("0%d ",k,g+=4);k&&e<k&&k-e>1&&
printf ("%d ",k-e,g+=3);k&&e<k&&k-e==1&&
printf (" ",g++);
printf ("r%c",a[h][j][k],g+=2,e=k,f=j);}
while (++k<50);
while (++j<20+(k=0));
do printf ("1G0",g+=3,e=f=0);
while (g<s);h=1-h;}
while (++t<=r+(i=0));
return !
puts ("");}
bueh, la pagina que tiene todo este tipo de codigos (debe haber mas paginas) es
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
The International Obfuscated C Code Contest
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
y aca estan los codigos:
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
http://www.es.ioccc.org/years.html
hay una lista larga
estan buenos para tratar de desifrar que hacen, yo voy a empezar con alguno, aver que tal me va
salu2!
«
Última modificación: Noviembre 28, 2007, 12:08:51 por Ni0
»
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
Desconectado
Mensajes: 261
Colombia Underground Team
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #1 en:
Noviembre 23, 2007, 07:15:24 »
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MNum 0xFFFFFFFE
char *Anonymo(char *Cad)
{
int ac=12345;
for(ac^=(*(&ac));*(*(&Cad)+ac);ac+=(!((*Cad)^(*Cad))))
if (!((int)(*(Cad+ac))^10)||!((int)(*(Cad+ac))^13))
ac-=((memmove(Cad+ac,Cad-(ac^-1),strlen(Cad)-ac))?!(*Cad&(*Cad^(-((!(231354^MNum))^1)))):!(ac^MNum));
return Cad;
}
by DarkIker
Att:
DarkIker
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> Colombia Underground Team
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> My Blog
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #2 en:
Noviembre 25, 2007, 01:27:16 »
lo unico que pude hacer hasta ahora es esto xD:
Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MNum 0xFFFFFFFE
char *Anonymo(char *Cad)
{
int ac=12345;
for(ac = 0;*(cad+ac);ac+=0)
if (*(Cad+ac) == 10) || *(Cad+ac) == 13)
ac-=((memmove(Cad+ac,Cad-(ac^-1),strlen(Cad)-ac))?!(*Cad&(*Cad^(-((!(231354^MNum))^1)))):!(ac^MNum));
return Cad;
}
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #3 en:
Noviembre 25, 2007, 08:55:41 »
Buenas
0) 0xFFFFFFFE
-2
1) ac ^= (*(&ac))
ac ^= ac
ac = 0
2) *(*(&Cad) + ac)
*(Cad + ac)
Cad[ac]
3) ac += (! ( (*Cad) ^ (*Cad) )
ac += !0
ac += 1
ac++
4) ( !((int)(*(Cad+ac)) ^ 10) || !((int)(*(Cad+ac)) ^ 13) )
( !(Cad[ac] ^ 10) ||!(Cad[ac] ^13))
por punto 2
(Cad[ac] == 10 || Cad[ac] == 13)
5) Cad - (ac ^ -1)
Cad - 1
6) !( *Cad & (*Cad ^ (- ( ( !( 231354 ^ MNum ) ) ^ 1) ) ) )
!( *Cad & (*Cad ^ (- (!1 ^ 1) )))
!( *Cad & (*Cad ^ -1) )
!( *Cad & 1)
7) !(ac^MNum)
!1
0
(memmove(Cad + ac , Cad-(ac^-1) , strlen(Cad) - ac))?
(memmove(Cad + ac, Cad - 1, strlen(Cad) - ac))
Si algo esta mal ya vendra DarkIker seguro a corregirme
Salu2, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
DarkIker
Habitual
Desconectado
Mensajes: 261
Colombia Underground Team
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #4 en:
Noviembre 25, 2007, 09:01:02 »
claro que vendre a correjirte tio, y es que hay algo mal
, y si hay algo mal
, es mas hay algo muy mal
. Es solo una cosa flipon, asi que solo ponele algo mas de cabeza al asunto y veras como se resuelve.
PD: Que paso con el MagicNum¿??¿ Mnum;
Att:
DarkIker
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> Colombia Underground Team
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> My Blog
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #5 en:
Noviembre 25, 2007, 10:47:58 »
Buenas
1) ac ^ MNum != 0 => !(ac ^ MNum) == 0
2) !(*Cad&(*Cad^(-((!(231354^MNum))^1))))
231354^MNum != 0
!(*Cad&(*Cad^(-(1^1))))
!(231354^MNum) == 0
!(*Cad & (*Cad ^ 0))
!(*Cad & *Cad)
!(*Cad)
0
Código:
char *Anonymo(char *Cad)
{
int ac = 12345;
for(ac = 0 ;Cad[ac] ;ac++)
if (Cad[ac] == 10)||Cad[ac] == 13))
ac -= memmove(Cad + ac, Cad - 1, strlen(Cad) - ac) ? 0 : 0;
return Cad;
}
«
Última modificación: Noviembre 26, 2007, 06:08:06 por Freak_Mind
»
En línea
Connoisseurs of C semantics find C++ inferior to ++C
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #6 en:
Noviembre 26, 2007, 09:20:03 »
lo que habia echo yo no estaba mal, expeto por ac +=0 y ac++, eso fue lo unico que me confundi, pero lo demas (de lo que hice, porque no lo termine xD) estaba bien..
pero bueh freak lo termino, bien por vos!
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #7 en:
Noviembre 26, 2007, 09:35:35 »
Hay q esperar q DarkIker diga si esta bien o no
Salu2, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #8 en:
Noviembre 26, 2007, 09:38:38 »
es facil, compilar y si hacen lo mismo esta bien no? xD, jeje
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
Desconectado
Mensajes: 261
Colombia Underground Team
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #9 en:
Noviembre 26, 2007, 06:19:04 »
sigue havbiendo un error, para auyudarlos les dare una pista, hay que tener cuidado con los numeros negativos
.
Att:
DarkIker
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> Colombia Underground Team
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> My Blog
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #10 en:
Noviembre 26, 2007, 06:30:41 »
char *Anonymo(char *Cad)
{
int ac=12345;
for(ac = 0; Cad[ac]; ac++)
if (Cad[ac] == 10 || Cad[ac] == 13))
ac -= 0; /*no es asi?? porque si memmove devuelve 1 se le resta 0, sino 0 (mem.... ? 0 : 0)*/
return Cad;
}
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #11 en:
Noviembre 26, 2007, 06:34:01 »
ahh, no, porque sino la funcion memmove no haria nada xD, jeje
ahora reviso la funcion memmove
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #12 en:
Noviembre 26, 2007, 06:42:36 »
ahh no, porque lo moveria a cualquier parte de la memoria porque dice Cad + ac, si diria &Cad + ac asi si que afectaria a cad no??
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #13 en:
Noviembre 26, 2007, 06:47:07 »
bueh, como molesto con mis post....
sirva o no sirva lo que haga la funcion memmove, en lo que se confundio freak es en esto:
Código:
ac -= memmove(Cad + ac, Cad - 1, strlen(Cad) - ac) ? 0 : 0; /*mal*/
ac -= memmove(Cad + ac, Cad + 1, strlen(Cad) - ac) ? 0 : 0;/*bien, porque Cad - - 1 = Cad + 1 no?*/
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
Desconectado
Mensajes: 261
Colombia Underground Team
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #14 en:
Noviembre 26, 2007, 07:04:51 »
Yeah point, y en lo de 0 : 0.
Att:
DarkIker
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> Colombia Underground Team
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> My Blog
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #15 en:
Noviembre 27, 2007, 08:54:00 »
me di cuenta que me RE confundi, soy un lammer, estupido, idiota, pelutudo, boludo, inbesil, burro y un analfabeto de mierda...
porque Cad es un puntero, asique su valor es una direccion de la memoria, asique la funcion memmove si sirve, porque modifica a Cad, asique la funcion memmove si es necesaria, el unico error era lo de + 1.
que ignorate que soy!
pero.. ahi darkiker dice:
Cita de: DarkIker en Noviembre 26, 2007, 07:04:51
Yeah point, y en lo de 0 : 0.
Att:
DarkIker
no entiendo.... porque no me corriguio en lo del Cad... y eso que sabes mucho....
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
Desconectado
Mensajes: 261
Colombia Underground Team
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #16 en:
Noviembre 27, 2007, 06:13:39 »
Por que en el source final no aparecia osase mostrabs solo la Cad + ac y no le realizabas la que vos creias que era la correccion necesaria.
Bueno la funcion ya fue desvelada y su unica funcion es la de remover saltos de linea y retornos de carro de una cadena, asi si le pasamos "HolaMundo\r\nJojojoj\nmolaaaa\reso", obtendremos "HolaMundoJojojojmolaaaaeso".
Si tienen tele hay se ven.
Att:
DarkIker
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> Colombia Underground Team
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> My Blog
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #17 en:
Noviembre 27, 2007, 06:19:36 »
entonces el codigo final es:
Código:
char *Anonymo(char *Cad)
{
for(ac = 0; Cad[ac]; ac++)
if (Cad[ac] == '\n' || Cad[ac] == '\r'))
memmove(Cad + ac, Cad + 1, strlen(Cad) - ac);
return Cad;
}
salu2!, quisa postee uno mio... xD
«
Última modificación: Noviembre 27, 2007, 06:21:28 por Ni0
»
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
Desconectado
Mensajes: 261
Colombia Underground Team
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #18 en:
Noviembre 27, 2007, 09:57:52 »
falto el ac -= ya que es de vital importancia cuando se remueve un elemento, para que no empieze a contar apartir de uno mas adelante.
Codigo original:
Código:
void RemoveBreaks( char *Cad )
{
for( int ac = 0; ac < strlen( Cad ); ++ac) {
if ( Cad[ac] == '\r' || Cad[ac] == '\n')
ac -= memmove( Cad+ac, Cad+ac+1, strlen( Cad ) - ac) ? 1 : 0;
}
return;
}
Att: DarkIker
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> Colombia Underground Team
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> My Blog
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #19 en:
Noviembre 28, 2007, 11:48:06 »
pero en el codigo que puso freak estaba terminada la funcion memmove asi:
? 0 : 0 por lo que ac -= 0 iba a ocurrir siempre, por lo que es inecesario restarle 0 a ac xD, por eso lo quite, pero parece que se confundio y en vez de ? 0 : 0 iba ? 1 : 0
bueh, perdimos, porque ninguno lo termino completo xD, salu2! y pongan alguno, quisa ponga yo uno,pero va a resultar facil porque seria el primero que hago xD
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
DarkIker
Habitual
Desconectado
Mensajes: 261
Colombia Underground Team
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #20 en:
Noviembre 28, 2007, 11:53:37 »
Yep FreakMind tiene algunos problemas con los numeros negativos xDD, por eso mencione arriba que el error era el que señalabas y el de ? 0 : 0.
Código:
Yeah point, y en lo de 0 : 0.
Att: [glow=red,2,300]DarkIker[/glow]
Att:
DarkIker
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> Colombia Underground Team
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
--> My Blog
Ni0
Gran Colaborador
Desconectado
Mensajes: 1357
Ni0-inside the source code
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #21 en:
Noviembre 28, 2007, 02:47:53 »
no habia entendido lo que significaba ese post, ahora si xD
salu2!
En línea
Inside The Source Code
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Linux Registred User #460377
acosador500
Recien Llegado
Desconectado
Mensajes: 19
Re: Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
«
Respuesta #22 en:
Abril 18, 2008, 03:16:48 »
que tal he tratado de abrit con el link y no puedo,
y si me interesan esos codigos.
sas se los agradeseri si, pusieras unos me los mandas a mi E-mail
chido. jfsrcy1989 @hotmail.com
En línea
Páginas:
[
1
]
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
Codigos confusos en C! exelentes para practicar, para desifrar el codigo!
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Seguridad
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Phreaking
===> Moviles
=> Bug y Exploits
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas
===> Php
===> Html
===> Java - Java Script
===> Php Nuke
===> Scripts Pre-Fabricados
===> Mysql
===> CSS y Diseño Web
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Cursos Y manuales
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
===> Adultos
=> Paginas Webs Recomendadas
=> Videos