El crackme4.exe de MCKSys, OLLY y el plugin LCB

Iniciado por ViejoMajara, 22 Febrero 2015, 12:38 PM

0 Miembros y 1 Visitante están viendo este tema.

ViejoMajara

¡Hola!

Estaba tratando de destripar el crackme4.exe (sin tener ni idea de VB) y había realizado avances, a mi entender muy esperanzadores, al llegar a colocar en CallNamedPipeA el nombre y la clave en Hexa separados por un punto, conocer el buffer donde estaban colocados y la dirección a donde debía llegar la respuesta. Pero no pasé de ahí.

De pronto me encontré con el tutorial que sobre el tema había hecho Thunder y me volvió la esperanza. Si consigo llegar a donde hace las transformaciones matemáticas, pensé, lo tengo vencido. Pero me he encontrado con que emplea el plugin LCB y no consigo entenderlo. Esto es lo que dice Thunder:

"Ahora lo que vamos a hacer aquí, ya que necesitamos depurar ambos
padre/hijo al unísono es abrir el mismo crackme en otro Olly, hacemos uso del
plugin LCB para importar los mismo Labels, Comments y BP usados en el
padre hacia el hijo"

¿Podría algún alma caritativa explicarme en detalle cómo se puede hacer esto?

Saludos


MCKSys Argentina

Hola!

El plugin LCB tiene un menu que te permite exportar e importar labels/commments/BPs.

Para poder importar, primero debes crear los archivos, asi que abres el ejecutable con Olly, vas al menu del plugin y seleccionas el primer "Export labels...".
Haces lo mismo con los 2 comandos restantes.
Asi ya tienes creados los 3 archivos que tienes que importar.

Luego, solo debes usar los comandos "Import ..." para importar lo exportado.

Saludos!

PD: Ten en cuenta que cada Import corresponde a un Export.
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


ViejoMajara

¡Hola!

Lo del plugin LCB está perfectamente aclarado.

En cuanto a resolver el crackme4 siguiendo las explicaciones de Thunder, que me gustan mucho porque sólo usa OLLY, me pierdo de todas todas. Además el Hijo juega con desventaja porque me parece que el crackme4 le tiene fichado por el nombre del Padre y al menor descuido se termina. Esto parece el catecismo.

Voy a leerme de nuevo las otras soluciones a ver si soy capaz de reproducirlas y  si no, buscaré otros cracmes más suaves.

Saludos.

MCKSys Argentina

Cita de: ViejoMajara en 24 Febrero 2015, 09:49 AM
¡Hola!

Lo del plugin LCB está perfectamente aclarado.

En cuanto a resolver el crackme4 siguiendo las explicaciones de Thunder, que me gustan mucho porque sólo usa OLLY, me pierdo de todas todas. Además el Hijo juega con desventaja porque me parece que el crackme4 le tiene fichado por el nombre del Padre y al menor descuido se termina. Esto parece el catecismo.

Voy a leerme de nuevo las otras soluciones a ver si soy capaz de reproducirlas y  si no, buscaré otros cracmes más suaves.

Saludos.

Me has hecho reír bastante...  :)

Le llamamos "hijo" porque está siendo ejecutado por otro proceso (padre). Pero es sólo por eso.

El proceso "hijo" tiene una conexión con el "padre". Es más, cuando el proceso "padre" lo ejecuta, le pasa valores por la linea de comandos. Esta es la forma en que el ejecutable (que es siempre el mismo) actúa como "padre" o "hijo".

El tutorial de Thunder es genial. Explica todo perfectamente (en su momento le hice saber mi sorpresa por semejante nivel de reversing).

El crackme no es tan complejo. Tiene trucos, como todos, pero es sencillo. Mi idea era mostrar un poco algunos "hacks" que existen en VB6 (como el llamar funciones en ASM usando la API CallWindowProc).

En fin, si quieres seguir o no, es tu decisión, pero recuerda que en estas cosas, "que quien más lucha, más aprende..."  ;D

Saludos!

PD: Como incentivo, si decides seguir, te ofrezco el código fuente si logras hacer un keygen (en el lenguaje que sea)  ;)
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


ViejoMajara

¡Hola!

Gracias MCKSys por tus ánimos. No soy de los que se desaniman fácilmente, o sea que seguiré, pero espaciadamente, ya que estoy tan encelado con el asunto que no hago otras cosas.

Por otra parte, el Process Explorer no me arranca, aunque no le doy demasiada importancia, y el VB Decompiler no me pone Sub Main en el árbol de objetos, lo cual me desasosiega un poco ya que no sé si es importante o no, o si es de configuración del decompilador, en el que he tocado todas las opciones que he visto pero no he arreglado nada, y no tengo ni idea de por qué pasa eso.

Y como remate la página de elhacker.net no me funciona bien con IE (no puedo seleccionar palabras o líneas con el ratón, insertar imagen no hace nada y no sé si alguna cosilla más) así que me paso a Mozilla.

En fin, en cuanto avance positivamente ya lo comentaré.

¡Ah! Y el tutorial de Thunder, aunque haya cosas que por mi ignorancia no comprenda, me parece ¡alucinante!.

Saludos

ViejoMajara

¡Hola!

Por fin he conseguido, siguiendo el tutorial de Thunder, llegar a la zona del Hijo donde se gestiona la comparación entre el nombre transformado y el número que hemos metido. Además he utilizado el XP virtual en mi PC de 64 bits, lo que me ha producido una satisfacción añadida.

Efectivamente, la transformación es bastante simple, por lo menos con nombres no excesivamente largos. Manualmente lo sé hacer y lo hago, pero voy a tener dificultades en preparar el keygen pues mis conocimientos de programación están totalmente oxidados.

En cualquier caso voy a ver si soy capaz de hacerlo en ASM con corta y pega, aunque esto me llevará algún tiempo, pero me obligará a estudiar más en profundidad este lenguaje.

Saludos.


.:UND3R:.

Cita de: ViejoMajara en  3 Marzo 2015, 11:35 AM
¡Hola!

Por fin he conseguido, siguiendo el tutorial de Thunder, llegar a la zona del Hijo donde se gestiona la comparación entre el nombre transformado y el número que hemos metido. Además he utilizado el XP virtual en mi PC de 64 bits, lo que me ha producido una satisfacción añadida.

Efectivamente, la transformación es bastante simple, por lo menos con nombres no excesivamente largos. Manualmente lo sé hacer y lo hago, pero voy a tener dificultades en preparar el keygen pues mis conocimientos de programación están totalmente oxidados.

En cualquier caso voy a ver si soy capaz de hacerlo en ASM con corta y pega, aunque esto me llevará algún tiempo, pero me obligará a estudiar más en profundidad este lenguaje.

Saludos.



Te felicito, con esa actitud llegarás muy lejos  ;-)

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

MCKSys Argentina

Cita de: .:UND3R:. en  3 Marzo 2015, 15:21 PM
Te felicito, con esa actitud llegarás muy lejos  ;-)

En efecto. Me sumo a las felicitaciones.

PD: Como consejo, si tienes tiempo, te recomiendo hacer un tutorial de python. Es un lenguaje sencillo y muy poderoso a la vez, en el cual, entre otras cosas, podrás desarrollar un keygen en 2 patadas... :P
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


ViejoMajara

¡Hola!

Muchas gracias por vuestros ánimos y ayudas.

Tras unos intentos fallidos por otros derroteros, finalmente me he decidido a estudiar Python. La versión 2.7 me daba algún problema y estoy trabajando con la 2.6.

Efectivamente me ha parecido bastante asequible para mi cerebro que, antiguamente, casi en la prehistoria, ya había trabajado con Basic y C.

Aunque tengo todo lo necesario para trabajar, me gustaría conocer alguna herramienta potente para la creación de programas en este lenguaje. Yo uso PythonG.

Las siguientes dudas sobre Python las plantearé en Programación General y cuando tenga el keygen del crackme4 ya lo pondré aquí.

Saludos.

ThunderCls

Este fue un crackme q me dio muy buenos momentos, a pesar de ser sencillo el algoritmo de registro es un muy buen trabajo para reversear, como en aquel momento le deje saber a MCKSys Argentina. Pero nada, veo q ya lo tienes, felicidades por tus esfuerzos y por no darte por vencido ;-) espero q puedas sacar el keygen tb
Saludos
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/