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


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  [Reto] Crackme C Yo-Mismo, nivel 1/10 (Principiantes)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: [Reto] Crackme C Yo-Mismo, nivel 1/10 (Principiantes)  (Leído 4,260 veces)
cibergolen

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: [Reto] Crackme C Yo-Mismo, nivel 1/10 (Principiantes)
« Respuesta #10 en: 19 Marzo 2015, 09:40 »

Hola tinco como estas...no abia contestado por falta de tiempo trabajo 8 horas diarias y el keygen no lo e hecho por lo mismo y por otro lado en este mismo momento seme quemo el monitor, sigo teniendo problemas con mi pc pero en fin.

Mi analisis el crackme tiene una rutina(un call) donde pregunta si el serial y el nombre son mayores que 6 osea que se permite de 7 digitos en adelante.

Despues de eso mas adelante se encuentra otro call este es el mas importante ya que es el que genera el serial pero no lo genera fasil mente sino que suma los valores ascii del serial que ingresamos menos el primer digito del serial.
Y despues de esto pasa por un ciclo el cual pregunta si es mayor a 100 y si es le xorea 50 y le resta 10 y saldra del ciclo cuando sea menor a 100 y el resultado que quede sera comparado con el valor ascii de la primera letra del nombre que ingresamos el cual tiene que ser igual

asi que aqui importa la primera letra del nombre y el serial a ingresar.

bueno saludos flamer y no fui espesifico con direciones por que estoy desde mi celular

Buen trabajo, Flamer, sólo falta el keygen  :silbar:

Tincopan: Gracias a ti por tratar de resolverlo, para el próximo crackme no colocare la solución..  ::)

Un saludo, y buen trabajo (Todos los que trataron de solucionarlo, pronto vendré con la V2)
En línea

d00rt

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: [Reto] Crackme C Yo-Mismo, nivel 1/10 (Principiantes)
« Respuesta #11 en: 19 Marzo 2015, 11:12 »

User: D0000rt
Pass: 0555500

Ahora mismo tengo que ir a la facultad para seguir trabajando en el proyecto de fin de carrera, pero mas adelante si queréis y ya que soy nuevo podría hacer un tutorial de como resolver este Crackme con el Ollydbg, de todos modos agradecer a tincopasan por su amabilidad y ayuda (En cuanto pueda te contesto al MP).

Next Level  ;-)
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.195

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: [Reto] Crackme C Yo-Mismo, nivel 1/10 (Principiantes)
« Respuesta #12 en: 19 Marzo 2015, 12:04 »

d00rt: Felicitaciones! como dicen los que saben lo mejor que se puede hacer es un tute de lo aprendido! así que estaría bueno que hagas uno para los que no se animaron a resolverlo.
Saludos
En línea

cibergolen

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: [Reto] Crackme C Yo-Mismo, nivel 1/10 (Principiantes)
« Respuesta #13 en: 19 Marzo 2015, 18:25 »

Crackme solucionado.

Esperen el siguiente!

Un saludo
En línea

ViejoMajara

Desconectado Desconectado

Mensajes: 52


Ver Perfil
Re: [Reto] Crackme C Yo-Mismo, nivel 1/10 (Principiantes)
« Respuesta #14 en: 25 Marzo 2015, 08:08 »

¡Hola!

Aunque Flamer lo había explicado resumido, pero perfecto, aquí envío un tutorial para alguien que sea más novato que yo. Es el primero que preparo para los demás, o sea que espero vuestra comprensión.

TUTORIAL PARA RESOLVER EL CRACKME

Corremos el crackme.exe para ver cómo funciona. Sale una ventana en la que nos indica: ”Introduzca usuario”. Metemos un nombre y pulsamos enter.

En la misma ventana aparece “Introduzca serial”. Metemos un número y pulsamos enter.

Como parece que no acertamos, desaparece la ventana.

Miramos cómo está escrito y si está empaquetado con RDG Packer Detector. Nos indica que está escrito en C++ y no detecta packer alguno.

Lo abrimos con OLLY parcheado para su detección por nombre y con todas las opciones de HideOD marcadas.

Lo corremos con F9. Nos sale la ventana anteriormente citada, introducimos nombre y clave como antes, pero ahora en la misma ventana nos indica: “Buen intento”.

Pulsamos Debug y Restart y nos lleva al inicio en 401220. Botón Derecho (BD), Search for y All referenced text strings. Vemos “Correcto” y “Buen intento” en dos direcciones distintas. Vamos a esa zona en el debugger.

Brujuleamos por la zona y observamos que en 4013C0 hay CALL 401290, luego un CMP EAX,1 y un JNZ al “Buen intento” si EAX no es 1.

En 4013D3 hay un CALL 4012E9, dos líneas más abajo un CMP [EBP-208],AL y un JNZ al otro “Buen intento” si [EBP-206] y AL no son iguales.

A la vista de lo anterior ponemos BP  en los dos CALL y pulsamos F9. Nos aparece la ventana, la rellenamos como siempre y al dar al segundo  enter se nos para en 4013C0.

Entramos en el CALL con F7 y estudiamos lo que hace. Primero mide la longitud (cantidad de caracteres) del nombre y, si es 6 o menos, retorna EAX=0. En caso de que el nombre tuviese una longitud mayor que 6, mide la longitud (cantidad de cifras) de la clave y si es 6 o menos, retorna EAX=0. Si la longitud de la Clave también es superior  a 6, retorna EAX=1. Cuando sale del CALL, si EAX=0 salta al segundo “Buen intento” y finaliza. Si EAX =1, sigue adelante.

Lo finalizamos, eliminamos el BP en 4013C0 y reiniciamos el crackme, pero ahora meteremos un nombre y una clave de longitud superior a 6. Se nos para en 4013D3.
Entramos en el CALL con F7 y lo estudiamos. Aquí  vemos que suma los valores ASCII de todas las cifras de la Clave excepto la más significativa (la de la izquierda), la hace un XOR 32, al resultado le resta 0A y a la cifra resultante la compara con 64. Si es mayor que 64, a la resultante le hace las mismas operaciones, XOR 32 y resta de 0A, y así hasta que da un resultado menor o igual que 64, en el que sale del CALL poniendo en EAX este valor.

A la salida, en 4013E4, compara EAX con el valor ASCII  de la primera letra de la Clave. Si son iguales nos imprime “Correcto” y termina, y si no, nos larga el primero de los “Buen intento” y termina.

Forma de solución rápida: Reiniciar, poner un BP en 4013E4, correrlo, poner nombre y clave de más de 6 signos y darle a enter. Parará en 4013E4. En el espacio del OLLY donde explica lo que hace, verás la primera letra de la clave que has metido y la que tenía que ser. Pones esta letra la primera de tu nombre y más de seis letras después, y la misma clave que has usado para obtenerla anteriormente y te aparecerá “Correcto”.

La otra, prepararte un Keygen. Yo lo he hecho en Python 2.7.
Las operaciones del segundo CALL en el keygen las  puedes hacer en decimal, sustituyendo 32 por 50, 64 por 100 y 0A por 10.
 
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.026


crack, crack y mas crack...


Ver Perfil WWW
Re: [Reto] Crackme C Yo-Mismo, nivel 1/10 (Principiantes)
« Respuesta #15 en: 29 Marzo 2015, 03:07 »

Hola aqui el KeyGen:


http://ultrashare.net/hosting/fl/a0bda93c07


mas vale tarde que nunca jajaja

saludos Flamer y boy hacer un tutorial en mi blog aver que sale y alo mejor subo el code de mi keygen
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crackme Splish [Nivel Newbie].
Tutoriales - Documentación
Paisterist 2 5,538 Último mensaje 23 Diciembre 2004, 07:36
por Paisterist
[Nivel 1/10] CrackMe básico C #4 « 1 2 »
Ingeniería Inversa
cibergolen 12 6,127 Último mensaje 30 Diciembre 2012, 22:42
por cibergolen
[Reto] CrackMe I (Nivel: Básico / SuperFácil) « 1 2 »
Ingeniería Inversa
jaxoR 13 3,527 Último mensaje 28 Abril 2015, 20:21
por Arkangel_0x7C5
[Reto] CrackMe II (Nivel: Fácil) « 1 2 »
Ingeniería Inversa
jaxoR 12 3,901 Último mensaje 3 Mayo 2015, 19:56
por ThunderCls
Crackme .NET con solucion, nivel medio, sin uso de debuggers
Ingeniería Inversa
sadfud 1 1,283 Último mensaje 18 Diciembre 2015, 14:51
por apuromafo CLS
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines