Primer duda Crack me cruehead xDD

Iniciado por $Edu$, 15 Septiembre 2011, 01:37 AM

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

$Edu$

Me da verguenza pedir que me expliquen si se acuerdan claro como resolvieron el crack me de cruehead, porque siento que ricardo no lo explica del todo bien, porque yo intentando hacerlo solo, entro a la api messageboxa y luego en su RETN le hago un follow para que me lleve a donde volveria y por ahi no encuentro el salto al que hace referencia ricardo.

Si alguien me explica como se hace, solamente por arriba ya que las cosas se hacerlas creo, solo que no le encuentro.


pd: yo ya lo crackie pero buscando hasta que me aparezca la misma imagen que mostraba ricardo, ya que a mi me llevaba a otro lado o ni idea q pasa.

.:UND3R:.

Colocamos un BP en MessageBoxA
Introducimos algunos datos falsos y se detiene en el BP que colocamos
si nos fijamos en [ESP] apunta al retorno, en este caso:
004013C1
Nos dirijimos ahí en el desambler y notaremos que un poco más arriba están las string del mensaje erroneo (chico malo):


Citar004013AD  |.  6A 30         PUSH 30                                  ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
004013AF  |.  68 60214000   PUSH CRACKME.00402160                    ; |Title = "No luck!"
004013B4  |.  68 69214000   PUSH CRACKME.00402169                    ; |Text = "No luck there, mate!"
004013B9  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
004013BC  |.  E8 79000000   CALL <JMP.&USER32.MessageBoxA>           ; \MessageBoxA


Si subimos un poco más notaremos otra string de otro chico malo pero si subimos un poco más encontraremos el mensaje bueno:


Citar0040134D  /$  6A 30         PUSH 30                                  ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
0040134F  |.  68 29214000   PUSH CRACKME.00402129                    ; |Title = "Good work!"
00401354  |.  68 34214000   PUSH CRACKME.00402134                    ; |Text = "Great work, mate!
Now try the next CrackMe!"
00401359  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
0040135C  |.  E8 D9000000   CALL <JMP.&USER32.MessageBoxA>           ; \MessageBoxA
00401361  \.  C3            RETN

por lo que lo más probable que un poco más arriba esté el salto en donde el programa se dirijirá al chico bueno o chico malo:


Citar00401243   . /74 07         JE SHORT CRACKME.0040124C
00401245   . |E8 18010000   CALL CRACKME.00401362
0040124A   .^|EB 9A         JMP SHORT CRACKME.004011E6
0040124C   > \E8 FC000000   CALL CRACKME.0040134D

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

.:UND3R:.

De todas formas para encontrar ese salto usar el método de la API MessageBoxA en este caso es algo complicado, es mejor usar la API:
GetDlgItemTextA

Encargada de almacenar los datos que estén en una caja de texto(momento en donde el crackme toma por primera vez el valor que haz introducido)

CitarGetDlgItemTextA

Devuelve el titulo o texto asociado con un control en un cuadro de diálogo:
ESP+4=Manejador de la caja de dialogo
ESP+8=Identificador del control
ESP+C=Buffer (dirección en donde se almacenará el texto)
ESP+10=Límite de espacio máximo de la string

EAX devuelve el número de caracteres que contiene el buffer

obviamente que para que se almacene el buffer este debe ya haber retornado la API (Execute till return)

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

$Edu$

Me hablaste en chino under jajaja, ya logre entenderlo pero ahora me cree un programa con login simple en vb6 ( igualito al que te pase la otra vez under) y al poner un BP en la api de MessageBoxA no se para, y tambien busque en el proyecto, las apis que usaba y no aparece MessageBoxA, pero claro esta que mi proyecto de login simple muestra un msgbox correcto o incorrecto, asi que no se :S

.:UND3R:.

Visual basic no usa esas api's, prueba con:

CitarrtcMsgBox

PD:en el capítulo 26 en adelante se habla de como crackear en visual basic tanto nativo como con op code y nags (ventanas molestas)

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

$Edu$

Listo, ya la idea se entendio, a seguir leyendo. Gracias!

Queta

"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

$Edu$

No, pero ahora le voy entendiendo y me se las instrucciones basicas talvez, por?

Queta

Para aprender cracking decentemente tienes que saber ASM...
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.

$Edu$

Claro por eso estoy aprendiendo a la misma vez, no te preocupes que yo estoy bien orientado por suerte y se las formas de estudiar las cosas para aprender bien de bien ;)