Título: [Tutorial]Crackeando CrackMe1 de Karcrack Publicado por: .:UND3R:. 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 (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 (http://www.mediafire.com/?00a114mb1eagtti) -Colocamos el crackme en el la ruta: Citar C:/ -Cargamos el crackme con OllyDBG y buscamos referencias de texto:(http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/1.jpg) encontramos algunas interesantes, parecen PATH, comprobemos (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/2.jpg) 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: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/3.jpg) Si buscamos un poco podremos corroborar con set que son path: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/4.jpg) Por lo que nos dirigimos a la string con doble click (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/5.jpg) y colocamos un BP en ella: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/6.jpg) Si traceamos un poco llegaremos hasta 0040274C, si lo pasamos EAX retornará el valor de HOMEDRIVE (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/7.jpg) Sigamoslo en el dump (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/8.jpg) Pasando: 0040275E . FFD7 CALL EDI EAX=retornará el valor de HOMEPATH (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/9.jpg) (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/10.jpg) Veamos el valor en el dump: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/11.jpg) Si seguimos traceando llegaremos hasta esta API: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/12.jpg) en donde concatenará (juntará) el valor del HOMEDRIVE con el HOMEPATH en EAX (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/13.jpg) Veamoslo en el dump: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/14.jpg) Si seguimos traceando mucho más abajo llegaremos a la siguiente API que se encarga de Pasar a Mayúsculas las string's: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/15.jpg) en este caso la concatenación (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/17.jpg) (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/18.jpg) una vez ejecutada la API, podremos ver en el DUMP el HOMDRIVE+HOMEPATH en mayúsculas (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/19.jpg) Sigamos traceando aquí vemos la llamda de una API muy importante: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/20.jpg) 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 (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/21.jpg) En este caso retornó 0 EAX (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/22.jpg) Luego toma valor obtenido en EAX y lo mueve a ESI: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/24.jpg) 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 (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/25.jpg) 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:(http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/23.jpg) Ahora al momento de dar RUN la primera condición se cumple, ahora vamos por la otra Si buscamos referencias, encontraremos otro PATH (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/26.jpg) (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/27.jpg) vallamos hacia el y pongámosle un BP (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/28.jpg) Coloquemos un número en el serial: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/29.jpg) Se dentendrá en USERNAME: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/30.jpg) Si seguimos traceando llegaremos hasta la siguiente API: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/31.jpg) en la que retornará el valor de USERNAME: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/32.jpg) vayamos al dump: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/33.jpg) (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/34.jpg) 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 (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/35.jpg) Si seguimos traceando llegaremos aquí: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/36.jpg) 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 (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/37.jpg) Pongamos un BP en tal API y demos RUN (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/38.jpg) Notaremos que vuelve a detenerse ahí y continúa haciendo lo mismo con los otros caracteres de mi USERNAME: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/39.jpg) Probemos colocar mi USERNAME sumandole uno a cada string como mi serial: (http://r00t-pssw.webcindario.com/images/Crack/CrackMe1%20por%20Karcrack/40.jpg) 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 Título: Re: [Tutorial]Crackeando CrackMe1 de Karcrack Publicado por: Flamer 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 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 funcinamientocrackme dentro de C:\Users \Victor\ Puede ser cualquier subcarpeta, pero debe tener como base tal ruta bueno felisidades ya pronto mi segundo crackme Título: Re: [Tutorial]Crackeando CrackMe1 de Karcrack Publicado por: .:UND3R:. 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.
|