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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  mi primer crackme
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: mi primer crackme  (Leído 9,124 veces)
Arkangel_0x7C5


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: mi primer crackme
« Respuesta #10 en: 23 Mayo 2009, 17:51 pm »

pos yo me canse de buscarlo jeje. Yo no me dedico mucho a esto de la ingeniería inversa

Voy a tener que cojer uno de esos manuales de Ingeniería Inversa jeje


Saludos
PD:muy bien conseguido mi amigo regx\ny0x
En línea

ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: mi primer crackme
« Respuesta #11 en: 23 Mayo 2009, 18:05 pm »

bueno veremos quien mas se anima, lo dejare una semana y si nadie se anima, pondre el codigo fuente y explicare (en lo posible  :P ) como funciona. Mis felicitaciones a Høl¥ que lo resolvio   ;-)

P.D El crackme no se trata de buscar el user y el pass en el ejecutable sino ver como funciona y deducir la respuesta, les deje una pista: la exepcion producida si te equivocas, ¿alguien se ha preguntado por que pasa?
En línea

Arkangel_0x7C5


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: mi primer crackme
« Respuesta #12 en: 23 Mayo 2009, 18:34 pm »

Segun la msdn tienes 2 nombres de usuario y una contraseña. Pero no sale el mensaje jeje

PD:Se y no se la clave jeje
« Última modificación: 23 Mayo 2009, 18:46 pm por Arcangel_0x7C5 » En línea

Red Mx
Rojito
Colaborador
***
Desconectado Desconectado

Mensajes: 3.649


Viva México Cabrones...


Ver Perfil WWW
Re: mi primer crackme
« Respuesta #13 en: 23 Mayo 2009, 18:39 pm »

ya no lo pued descargar  deberias poner varios mirros.
En línea

Desarrollar Malware Es Causa De Cancer...
ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: mi primer crackme
« Respuesta #14 en: 23 Mayo 2009, 19:20 pm »

no me regañen  ;D , ahorita lo vuelvo a subir inxe rapidshit, arkangel esta cerca de la respuesta

Edit:
ya esta el nuevo enlace de descarga, si da problemas avisen
« Última modificación: 23 Mayo 2009, 19:31 pm por ny0x » En línea

Arkangel_0x7C5


Desconectado Desconectado

Mensajes: 361



Ver Perfil
Re: mi primer crackme
« Respuesta #15 en: 24 Mayo 2009, 03:52 am »

Costo pero ya esta, Añade me de una .. vez

Saludos
PD:Es el primero y ya le tira fuerte jeje o que yo soy malo en esto.
En línea

ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: mi primer crackme
« Respuesta #16 en: 28 Mayo 2009, 22:24 pm »

bueno como creo que nadie mas se va a animar, dejo el codigo fuente

Código
  1. #include <windows.h>
  2. #include <iostream>
  3. using namespace std;
  4. char* cr(char* cadena);
  5. void parse(char *cadena,char *cad);
  6. char* txt="üÿöóùóþûþÿé";
  7. char* msg="èÿýâºþóùÿ ";
  8. int main()
  9. {
  10. cout<<"Escribe el usuario: ";
  11. char pass[1024], name[1024];
  12. cin>>pass;
  13. cout<<"Contraseña:";
  14. cin>>name;
  15. parse(pass,name);
  16. }
  17. char* cr(char* cadena)
  18. {
  19. int _size = lstrlen(cadena);
  20.    char* cade=new char[_size];
  21.    lstrcpy(cade,cadena);
  22.    char* vptr=cade;
  23.    for(int Ctr=0;Ctr<_size;Ctr++)
  24.    {
  25.            *vptr ^= 0x29A;
  26.            vptr++;
  27.    }
  28.    return cade;
  29. }
  30. void parse(char *cadena,char *cad)
  31. {
  32. char p[1024],p2[1024];
  33. lstrcpy(p,cr(cadena));
  34. lstrcpy(p2,cr(cad));
  35. HMODULE h = LoadLibrary(cad);
  36. typedef int (WINAPI* pt)(HWND,LPCSTR,LPCSTR,UINT);
  37. pt exito = (pt)GetProcAddress(h,cadena);
  38. exito(0,cr(txt),cr(msg),0);
  39. }
  40.  

Como pueden ver no es gran cosa, en resumen lo que hace es pedir la contraseña y el user que en realidad es el nombre de una dll y una funcion. El programa no comprueba que el resultado sea correcto para que no sea detectado con un simple analisis de cadenas. Entonces como se resuelve? pues buscando el sitio del crash (si introduces el nombre de una api o dll inexistente se produce un crash). Una vez encontrado solo hay que buscar analizar el codigo desensamblado un poco mas arriba y te daras cuenta de lo que es el user y el pass, ya que se usa LoadLibrary y GetProcAddress.
Ahora el segundo paso consiste en encontrar una api y una libreria que rellene el hueco para poner como user y pass, y como generalmente los crackmes te informan cuando acertaste. Uno puede deducir con un poco de paciencia que se trata de MessageBoxA.
Por lo tanto la respuesta es:
usuario: MessageBoxA
pass: user32.dll

El codigo es muy basico, se podria mejorar comprobando que LoadLibrary no devuelva un handle invalido para evitar el crash, y sea un poquito mas dificil encontrar el punto esencial.
Queria darle un mejor uso a la enciptacion barata pero bueh, por lo menos hizo un poco mas de bulto  ;D.
Felicidades a los que lo resolvieron ;-) y gracias por su tiempo

saludos
En línea

Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Re: mi primer crackme
« Respuesta #17 en: 12 Junio 2009, 07:59 am »

Perdon a los mods por revivir este tema pero Hombre justo cuando estoy con tiempo libre y buscando crackmes para matar el tiempo veo que ya haz puesto el fuente mm, no es bueno porque sino la gente que mira los temas antiguos como yo no tendrian oportunidad de ver el crackme y entretenerse un rato, que por cierto esta interesante por lo que muestra el src, pero bueno a otra será jeje.

salu2
En línea





Mi blog:
http://amerikanocls.blogspot.com
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mi primer crackme « 1 2 »
Ingeniería Inversa
Archreg 16 8,877 Último mensaje 10 Enero 2011, 18:14 pm
por Archreg
Mi primer CrackMe
Ingeniería Inversa
sasske 5 3,760 Último mensaje 18 Febrero 2014, 22:05 pm
por sasske
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines