Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Curso de Cracking - Cómo crackear el mismo Crackme

Curso de Cracking - Cómo crackear el mismo Crackme

 ****- (36 opiniones)
GNU Free Documentation License Curso gratis de JaMaikito - 21 de Febrero de 2006
Temas Relacionados: Hacking
4. Cómo crackear el mismo Crackme
En este capítulo veremos como crackear el mismo Crackme, pero si no pudiésemos ver las string references, es decir, imagínense que cuando lo desensamblamos con el wdasm o miramos las referencias de texto en el OllyDBG y no encontramos nada, qué hacemos?. Bueno para resolver esta preguntra, aclararemos lo siguiente, además de poder situar lo Breakpoint en ciertos lugares del programa como hemos hecho en el capítulo anterior, existen las llamadas funciones API, que son funciones que existen en Windows y el programa utiliza para no escribir funciones que ya puede utilizar tomándolas de otro lado.

La idea será utilizar estas funciones para que nos guíen a la zona deseada, para poder encontrar el salto condicional que deseamos cambiar. En este caso la función API que utilizaremos es una llamada MESSAGEBOXA , que es la que dibuja las ventanitas con mensajes, así que pensaremos que si podemos ubicar cuando el programa llama a esta función para dibujarnos la ventanita de NO LUCK THERE MATE, podremos ubicar desde donde se realiza la comparación, ya que antes de dibujarla checkeará si nuestro serial es correcto.

Dicho esto, ponemos manos a la obra. Como siempre lo primero que haremos será irnos a nuestro querido OllyDBG, y desensamblaremos el Crackme. Hecho esto le daremos a F9 (para que corra el debugeador y se ejecute el programa), y luego haremos click derecho sobre el programa desensamblado e iremos a SEARCH FOR--->Name (label) in current module, o simplemente pulsaremos CTRL+N, lo que es equivalente y obtendremos algo como lo siguiente.



Bueno aquí estamos delante de los módulos que se utilizan. Lo que haremos será localizar el que nos interesa MESSAGEBOXA. Aquí veremos una diferencia, mientras que con el Softice bastará poner BPX MESSAGEBOXA, para poner un breakpoint en la función, aquí lo que haremos será seguirla para ver desde donde se utiliza, ya que con un Breakpoint no llegaremos a nada :) .

Entonces lo siguiente, ubicada la función nos situaremos sobre ella y le daremos al botón derecho del mouse, y lo que nos ocupa a nosotros es ver desde qué lugares es llamada, así que iremos a la opción FIND REFERENCES TO IMPORT y allí nos salen 4 direcciones 40135C, 401378, 4013BC, 40143A .

Si hacemos doble click sobre la primera (para que nos lleve al programa desensamblado, a la posición desde donde se llama) veremos que se trata de la ventana de que hemos ingresado el serial correcto, es claro que esta no nos interesa, ya que si ingresamos el serial incorrecto no utilizará dicho mensaje :p .

Así que seguimos, si hacemos doble click sobre el segundo y el tercero, veremos que ambos hacen referencia a la ventanita de error, mmmmm... por aquí debe ser el asunto. Pero miro y digo "son dos", algo no está bien, y es allí donde usando la memoria me acuerdo que ya en el capítulo anterior, el programa me había engañado llevándome por un camino falso, así que procederé con cautela.

Hago doble click sobre la que se llama desde 401378 y debajo de la posición en la que me arroja, hay un RETN (return, es decir que utiliza la función y me devuelve mediante esa orden, debajo de la posición desde la cual fue llamada para dibujar la ventana), así que pondremos con F2 un Breakpoint en ese RETN, he intento registrarme, esta vez lo hemos pillado, ya que el programa nos arroja el error inmediatamente luego de intentar registrarnos, lo que nos está diciendo que nuestro Breakpoint no ha detenido el programa, por lo que el programa no utiliza la zona donde pusimos con F2 el Break, por lo tanto este es el mensaje de error que nos había engañado en el capítulo pasado.

Así que sabiendo esto hacemos doble click sobre 4013BC, e igual que con el anterior vemos que debajo de donde nos arroja, hay un RETN, al que le pondremos un Breakpoint , y luego intentaremos registrarnos.

En esta ocasión el programa se ha detenido ;), así que le daremos a F8 para que nos devuelva, y nos arroja sobre la posición 401232, hasta aquí vamos bien pero, mmmm.... este lugar me resulta familiar,aaaaaa....como no? si no es más ni menos que donde la otra vez habíamos hallado el salto a modificar la última vez jajaja ;), si miramos 5 y 6 órdenes hacia abajo respectivamente veremos la comparación y el salto, modificaremos el salto igual que la vez anterior posicionándonos sobre él , le damos a la barra espaciadora, para que nos lleve a la opción Assemble y allí modificamos el salto JE por un JNE, y ... BINGO , lo hemos logrado una vez más y no hemos precisado las referencias de texto ;).

Escríbanme para decirles si les ha gustado, cualquier duda o sugerencia.
Autor y licencia de 'Curso de Cracking - Cómo crackear el mismo Crackme'
JaMaikito Extraído de: http://www.indaya.com GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.gnu.org/copyleft/fdl.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Curso de Cracking - Cómo crackear el mismo Crackme'

El objetivo de este curso es aprender a programar en el lenguaje Ada, desde sus... Más »
Excelente curso de iniciación a la astronomía para aquellos que quieran aprender sobre esta apasionante... Más »
La idea de este curso surgió de varias conversaciones entre amig@s de la cuadrilla y... Más »
Este es un curso tremendamente completo, guiado y con ejemplos y prácticas pensadas para convertirlo... Más »
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
Gente Wiki
Jhonny Chevalier Montero
Soy maestro de básica estoy impartiendo el curso online bandera dominicana simbolo sagrado de nuestra soberania.
Alvaro
Soy consultor programador informático, mi formación profesional esta dirigida en organizar, dirigir, diseñar y desarrollar soluciones informáticas cliente-servidor, multicapas para...
Ervey
Arquitecto interesado en formarse como director de proyectos.
Pedro Rossello
Presidente partido nuevo progresista de puerto rico. Senador por el distrito de arecibo.
Miguel Angel Gonzalez Ortiz
hola, soy el presidente de la Asociacion de Hockey en el Estado de Guanajuato(sobre cesped e Indoor) realmente soy lic....
Elena
Soy rusa, licenciada en filologia en la universidad estatal lomonosov de moscu y doctorada alli mismo. Ademas soy licenciada en...
Focus group
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?