Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: negux en 16 Enero 2012, 05:59 am



Título: [Tutorial] Crackme v10 Eternal BLiss by negux
Publicado por: negux en 16 Enero 2012, 05:59 am
Objetivo: Crackme v10.0 Eternal Bliss
Cracker: negux


Este no es el típico crackme de buscar un serial, así que veamos de qué se trata.
(http://img69.imageshack.us/img69/457/47037292.jpg) (http://imageshack.us/photo/my-images/69/47037292.jpg/)



Algo nuevo para mi, presionamos el botón Check pero no nos manda algún mensaje, mmm veamos que nos dice el RDG.
(http://img696.imageshack.us/img696/4910/55014079.jpg) (http://imageshack.us/photo/my-images/696/55014079.jpg/)


Esta hecho en Visual Basic y además nos dice que esta P-Code( para entender bien como tratar este tipo de crackmes recomiendo leer el tutorial que me sirvió para este crackme, es de und3r, en el mismo documento hace referencia a una lección de Ricardo Narvaja,pongo la referencia al final).

¿Qué es P-Code?
Cuando compilados un programa con VB, este nos da la posibilidad de elegir el tipo de compilado diferenciando entre código NATIVO y P-CODE:
el código nativo tiene la gran ventaja que ejecutan el código en la sección code del programa permitiendo esto que sea más "fácil" lograr saltar la seguridad, por otro lado el  P-CODE no posee código de ejecución dentro de la sección code. solo posee una serie de códigos llamados P-Codeque son interpretados y ejecutados por la dll de Visual Basic, haciéndonos una tarea más difícil. [1].

Bueno, si leen el documento nos menciona que abramos el crackme con Exdec, así que hagamoslo.

(http://img542.imageshack.us/img542/9632/dibujo3zi.jpg) (http://imageshack.us/photo/my-images/542/dibujo3zi.jpg/)


Ahí está nuestro crackme, si somos observadores y con un poco de perspicacia veo algo que me llama la atención.

(http://img191.imageshack.us/img191/7838/76296516.jpg) (http://imageshack.us/photo/my-images/191/76296516.jpg/)


Los cuento y son 24, que es el número de cuadritos del crackme, entonces me hace suponer que checa esos cuadritos para saber su estado.
Y como dice und3r que existen estos dos P-codes:
1)BranchF=1C
este P-Code es similar a un salto condicional, este salto se realiza si la comprobación anterior es falsa.

2)BranchT=1D
este P-Code es el opuesto a BranchF es decir, este salta cuando la comprobación es verdadera T=True F=false
Asi que buscamos el primer BranchF

(http://img577.imageshack.us/img577/8051/19131105.jpg) (http://imageshack.us/photo/my-images/577/19131105.jpg/)



Ahí vemos algunos y la dirección a donde nos llevaría si es True, dichas dirección son el inicio de la comprobación de los cuadritos.
Anotamos las direcciones de cada uno, en total 24:
Así que abrimos el crackme en el Olly y en el dump vamos a la dirección de cada uno.
(http://img696.imageshack.us/img696/2001/97774239.jpg) (http://imageshack.us/photo/my-images/696/97774239.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)
Vemos:

(http://img252.imageshack.us/img252/6348/70572322.jpg) (http://imageshack.us/photo/my-images/252/70572322.jpg/)

Ahí vemos el 1c, BranchF, lo cambiamos a 1D

(http://img831.imageshack.us/img831/4118/86031126.jpg) (http://imageshack.us/photo/my-images/831/86031126.jpg/)


Y hacemos el mismo procedimiento con las 24 direcciones que anotamos. Una vez hecho esto copiamos los cambios al ejecutable y lo guardamos con otro nombre, asi que probemos lo que hicimos.
Abrimos nuestro nuevo crackme y marcamos cualquier cuadrito y vemos que pasa.

(http://img220.imageshack.us/img220/4585/12652454.jpg) (http://imageshack.us/photo/my-images/220/12652454.jpg/)




Funcionó  ;D

Referencia:
[1]. P-Code por UND3R.  http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/1401-1500/1409-Introduccion%20al%20cracking%20en%20P-Code%20parte%20I%20por%20UND3R.doc (http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/1401-1500/1409-Introduccion%20al%20cracking%20en%20P-Code%20parte%20I%20por%20UND3R.doc)



Título: Re: [Tutorial] Crackme v10 Eternal BLiss by negux
Publicado por: .:UND3R:. en 16 Enero 2012, 19:34 pm
Excelente tutorial simple pero efectivo  ;-), en cuanto al tutorial me ha gustado que lo hayas puesto directamente en el post, así es mucho más simple su lectura y ahorra tener que bajar el .doc

Felicitaciones nuevamente :D


Título: Re: [Tutorial] Crackme v10 Eternal BLiss by negux
Publicado por: karmany en 16 Enero 2012, 23:22 pm
Muchas gracias por compartir tu trabajo.
Está muy bien y más sabiendo que es algo no muy usual como un VB6-PCode

Gracias.

PD. Para que no se pierda, puedes poner un enlace en Crackmes/Tutoriales y así todo el mundo lo tendrá "a mano".