Lo estuve checando muy muy superficialmente xD mejoraste muchisimo más el crackme, ahora no se pareciera como si se ejecutara en memoria o llama a un modulo para encriptar a base64, xD asi a la primera pasada descubri una string que me da una pista que encriptaste en base64, luego también tomas el nombre de la PC y lo encriptas en base64, xD Estoy cerca, deja que me traigan mi pc arreglada y sigo mirando, posteo para que no pienses que nadie lo está intentando!
//mHmm..
Felicidades m4rtyr, eres el segundo en resolverlo. Si es posible cree una breve descripción, en la cual nos diga cómo llegó a la solución.

Como ya está resuelto, creo que no es preciso guardar muchos secretos acerca de este crackme. Explico su funcionamiento:

Primero utiliza una constante encriptada en base64 previamente, la constante es la respuesta. Cuando el usuario inserte cualquier cosa o palabra, entonces encripta a esas palabras y las compara con la constante. Hasta aquí todo me pareció algo fácil, así que declaré otra constante y la encripté en base64, al igual que la primera. El nombre de mi PC es AX-PC, así que este es el valor de la segunda constante. Todos las PCs tienen un nombre propio y si la PC en la que intentaran descifrar el crackme no se llamaba igual que la mía, bueno. Ahora es algo más dificil de resolver, puesto que aunque resolvieras en crackme tendrías que tener un nombre de PC específico.

Si a esta idea se le aplican algoritmos de encriptación más poderosos como DES, entonces cada vez sería más difícil. Me gustaría poder saber como m4rtyr resolvió el crackme, ya que el otro usuario nunca lo hizo.

Saludos.
Me gustaría poder saber como m4rtyr resolvió el crackme, ya que el otro usuario nunca lo hizo.
quieres saber como se hace en Olly ?
pues si quieres pongo photos para explicar las technichas

saludos

Mostrar/Ocultar

hacemos un right-click >>analysis >> analyse code
y para obtener las strings(cadenas) hacemos
right-click >> search for >> all reference text strings
ahora vamos a la ventana de las strings(cadenas)
y detectamos quales son las cadenas importantes
cuando detectamos esa string/strings hacemos un
right-click >> Follow in Dissassembler // el string base64 es"UXVpZW4gbXVjaG8gYWJhcmNhLCBwb2NvIGFwcmlldGFBWC1QQw=="
//contiene "Quien mucho abarca, poco aprietaAX-PC"

ahora ponemos un hardware-breakpoint en esa string // el hardware breakpoint puasa el Ollycuando hay acceso a esa cadena
ahora hacemos un right-click >> follow in dump >> constant
despues un right-click en la ventana hex dump desde la primer charachter de la cadena que es "U"
despues Break-point >> Hardware on-access >> byte

ahora lansamos el programa con el el Botton F9 y probamos alguna cadeno por ejemplo AX
ahora el Debugger se paro , ahora analysamos el Stack para ver que valores/cadenas tiene y que esta haciendo
en este caso esta comparando dos cadenas (con vbaStrComp) la inicial es la cadena de base64 que tiene"Quien muc.." y la otra
es en base64 la deciframos y es "AXNOSE"
nota nosotros entramos AX como la Key ,NOSE es la nombre de mi PC ,, en esto concluimos que el programa
coje la key y el nombre de PC y los encrypta con base 64 despues lo compara con la cadena "UXVpZW4gbXVjaG8gYWJhcmNhLCBwb2NvIGFwcmlldGFBWC1QQw=="
que es "Quien mucho abarca, poco aprietaAX-PC" ,, concluimos que la key es "Quien mucho abarca, poco aprieta"
y tenemos de poner el nombre de la PC a AX-PC xD

Imagen


Imagen


Imagen


Imagen


Imagen



saludos

Mostrar/Ocultar

Muchas gracias por su tiempo, estoy seguro que esto ayudará a los que estamos comenzando en el cracking.

Saludos y gracias.
m4rtyr imprecionante , excelente m4rtyr la verdad muy bueno tu trabajo.
La vocaion de enseñar habla de la generosidad de una persona y su grandesa!!
Responder

Volver a “Cracking/Reversing”