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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  [Tutorial]Crackeando CrackMe1 de Karcrack
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Tutorial]Crackeando CrackMe1 de Karcrack  (Leído 3,324 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
[Tutorial]Crackeando CrackMe1 de Karcrack
« en: 19 Agosto 2011, 22:18 pm »

CrackMe1 de Karcrack
Autor: Karcrack
Nombre: #1 Crackme
Fecha: 27 de diciembre de 2008
Tamaño: 24,0 KB
Compilador y/o Packer: Visual Basic
Objetivos:Encontrar una clave valida
Dificultad: 2/3 (1-10)
Descarga del crackme:http://karcrack.funpic.de/1CrackMe.rar
Autor de Tutorial:UND3R

Noté que no había ningún tutorial, por eso decidí realizar uno
Descarga del tutorial en .doc: http://www.mediafire.com/?00a114mb1eagtti

-Colocamos el crackme en el la ruta:
Citar
C:/
-Cargamos el crackme con OllyDBG y buscamos referencias de texto:


encontramos algunas interesantes, parecen PATH, comprobemos


Las PATH son variables de rutas o datos que posee windows como por ejemplo
Citar
windir=Carpeta del sistema operativo
programfiles=Carpeta archivo de programa

Para ver las path de nuestro sistema operativo, nos vamos a Inicio->Ejecutar->CMD una vez cargada la consola de windows tecleamos el comandoSET y luego enter:



Si buscamos un poco podremos corroborar con set que son path:


Por lo que nos dirigimos a la string con doble click


y colocamos un BP en ella:


Si traceamos un poco llegaremos hasta 0040274C, si lo pasamos
EAX retornará el valor de HOMEDRIVE


Sigamoslo en el dump


Pasando:
0040275E   .  FFD7          CALL EDI
EAX=retornará el valor de HOMEPATH





Veamos el valor en el dump:


Si seguimos traceando llegaremos hasta esta API:


en donde concatenará (juntará) el valor del HOMEDRIVE con el HOMEPATH en EAX


Veamoslo en el dump:


Si seguimos traceando mucho más abajo llegaremos a la siguiente API que se encarga de Pasar a Mayúsculas las string's:

 en este caso la concatenación





una vez ejecutada la API, podremos ver en el DUMP el HOMDRIVE+HOMEPATH en mayúsculas


Sigamos traceando aquí vemos la llamda de una API muy importante:


InStr (Función, Visual Basic)

Devuelve un entero que especifica la posición inicial de la primera aparición de una cadena dentro de otra.

Parámetros

Citar
Start
Opcional. Expresión numérica que establece la posición inicial para cada búsqueda. Si se omite, la búsqueda comienza en la primera posición del carácter. El índice de inicio está basado en 1.

String1
Requerido. Expresión String en la que se busca.

String2
Requerido. Expresión String que se busca.

Compare
Opcional. Especifica el tipo de comparación entre cadenas. Si se omite Compare, el valor Option Compare determinará el tipo de comparación.

fuente msdn.microsoft.com




En este caso retornó 0 EAX



Luego toma valor obtenido en EAX y lo mueve a ESI:


Luego testea ESI, a través de la tabla AND:
1 AND 1= 1
1 AND 0= 0
0 AND 1= 0
0 AND 0= 0

Por lo que al ser TEST SI,SI existen una posibilidad que de 0 y es si SI=0

1 AND 1= 1
0 AND 0= 0


Si le damos F9 la primera condición no se dará debido a que cuando se llamó la API EAX=retorno 0

por lo que si ponemos el crackme en la ruta:
 
Citar
C:\Users\Victor\
de ahí en adelante, cuando se pasa por la API InStr esta devolverá lo siguiente:


Ahora al momento de dar RUN la primera condición se cumple, ahora vamos por la otra


Si buscamos referencias, encontraremos otro PATH




vallamos hacia el y pongámosle un BP



Coloquemos un número en el serial:


Se dentendrá en USERNAME:


Si seguimos traceando llegaremos hasta la siguiente API:


en la que retornará el valor de USERNAME:


vayamos al dump:




Si seguimos traceando notaremos que compara la cantidad de caracter que se colocaron al serial con 6, cantidad de caracteres de mi USERNAME, algo sospechoso si este es mayor automáticamente la condición dos no se cumple


Si seguimos traceando llegaremos aquí:


Luego de pasar por esta API toma la primera letra de mi username V que en hexadecimal es 56 y le suma 1 transformándolo en F7 es decir en W



Pongamos un BP en tal API y demos RUN


Notaremos que vuelve a detenerse ahí y continúa haciendo lo mismo con los otros caracteres de mi USERNAME:


Probemos colocar mi USERNAME sumandole uno a cada string como mi serial:


Notaremos que lo hemos logrado, por lo que por conclusión:

1-Condición se debe tener el crackme dentro de C:\Users\Victor\ Puede ser cualquier subcarpeta, pero debe tener como base tal ruta

2-el serial correcto es el USERNAME (Nombre de nuestra cuenta) y sumarle 1 a cada string
« Última modificación: 19 Agosto 2011, 22:49 pm por .:UND3R:. » En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Flamer


Desconectado Desconectado

Mensajes: 1.045


crack, crack y mas crack...


Ver Perfil WWW
Re: [Tutorial]Crackeando CrackMe1 de Karcrack
« Respuesta #1 en: 20 Agosto 2011, 00:07 am »

felisitaciones yo lo abia resuelto pero no sabia muy bien el mecanismo fue chiripada a como lo resolbi
Citar
1-Condición se debe tener el
crackme dentro de C:\Users
\Victor\ Puede ser cualquier
subcarpeta, pero debe tener
como base tal ruta
yo lo copie al escritorio y cuando lo corri prendio un foco y presione 1 y listo crackme resuelto queria hacer un tutorial pero meganastes y no sabi muy bieo el funcinamiento
bueno felisidades
ya pronto mi segundo crackme
En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: [Tutorial]Crackeando CrackMe1 de Karcrack
« Respuesta #2 en: 20 Agosto 2011, 04:26 am »

Muchas gracias que bueno que te haya gustado, el primero a mi también me apareció activado, ya que lo analizaba dentro del escritorio ( dentro de la homepath) por lo que luego de darme cuenta de la utilización de path's y la comprobación que se hacían con ella intente cambiar de ruta y funcionó, Saludos y muchas gracias nuevamente.
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Tutorial Crackme1 de frankener1986 por karmany
Ingeniería Inversa
karmany 0 5,950 Último mensaje 16 Septiembre 2007, 15:57 pm
por karmany
Tutorial Crackme1 de Nitr0k1ller por Nanocity
Ingeniería Inversa
karmany 0 3,312 Último mensaje 19 Septiembre 2007, 23:37 pm
por karmany
[Tutorial]Crackeando PosWin v8 « 1 2 »
Ingeniería Inversa
.:UND3R:. 19 17,430 Último mensaje 23 Agosto 2015, 20:05 pm
por MCKSys Argentina
[Tutorial]crackme1 por nitr0k1ller
Ingeniería Inversa
.:UND3R:. 2 3,145 Último mensaje 1 Septiembre 2011, 21:54 pm
por .:UND3R:.
Tutorial De crackme1 Del Concurso 11 De CracksLatinoS « 1 2 »
Ingeniería Inversa
Flamer 14 6,267 Último mensaje 11 Diciembre 2013, 21:54 pm
por Vaagish
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines