[Tutorial] Crackme v10 Eternal BLiss by negux

Iniciado por negux, 16 Enero 2012, 05:59 AM

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

negux

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.




Algo nuevo para mi, presionamos el botón Check pero no nos manda algún mensaje, mmm veamos que nos dice el RDG.



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.




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




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





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.


Uploaded with ImageShack.us
Vemos:



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




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.






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


.:UND3R:.

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

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

karmany

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".