Facebook Twitter RSS Reset

Curso de crakeo leccion 3 FUNCIONES DE WINDOWS (api)

COMO UTILIZAR EL SOFTICE CON LAS FUNCIONES DE WINDOWS (api)

El softice acepta además de los BPX numéricos otros que son BPX a funciones que utiliza WINDOWS para realizar ciertos trabajos que los programas aprovechan para no escribir tantas funciones cuando ya se puede realizar ese trabajo con funciones de WINDOWS.

Esto es muy util para los crackers para que el programa se interrumpa cuando llama a estas funciones y con ello ayuda cuando el WDASM no nos dice mucho o cuando no aparecen las STRINGS REFERENCES que buscamos.

Por ejemplo en el crackme nosotros buscamos la STRING REFERENCE -NO LUCK THERE MATE- y allí no hubo problema porque aparecía claramente la STRING REFERENCE y entonces la buscamos asi, pero con el softice podríamos también arrancar el programa ir a HELP – REGISTER y poner el nombre pepe y la clave 989898 (O CUALQUIER OTRA) y antes de poner OK hacemos CTRL. + D y en el SOFTICE tipeamos

Curso de crakeo leccion 3 FUNCIONES DE WINDOWS (api)
BPX MESSAGEBOXA y después volvemos al programa con X y después si ponemos OK y el programa se interrumpe cuando se comienza ejecutar la función MESSAGEBOX que dibuja esas ventanitas con mensajes y entonces tecleamos F12 para que se ejecute toda esa función vemos que aparece en 40137d justo en la zona de chico malo que nos decía el WDASM y si ejecutamos F10 para que se ejecute el RET vemos que vuelve a la zona donde esta la comparación y el salto a la zona de chico malo que habíamos llegado con el WDASM.

Además si volvemos a repetir el proceso y antes de hacer el ret borramos todos los BPX con BC* y hacemos dobleclick encima de las sentencias 40136b y 401370 hasta que se pongan celeste (ESTO EQUIVALE A PONER UN BPX EN ESA POSICIÓN) y ejecutamos de nuevo el crackme y HELP-REGISTER ETC ETC va a parar en esas sentencias alli podemos ver haciendo

D 401136b VEMOS NO LUCK

D 401370 VEMOS NO LUCK THERE MATE

Curso de crakeo leccion 3 FUNCIONES DE WINDOWS (api)
O sea vemos como esta preparando los mensajes para cuando se ejecute la messagebox aparezcan los odiosos NO LUCK y NO LUCK THERE MATE y si editamos esos mensajes con E y ponemos otros valores hexadecimales que correspondan a otras letras van a ver que al seguir el programa van a aparecer en el cartelito el texto que ustedes pongan en vez de NO LUCK THERE MATE.

En el WDASM las funciones importadas que utiliza el programa se pueden ver en el iconito IMP FN que esta a la izquierda del de STRING REFERENCES cinco o seis iconos a la izquierda del de STRING, allí esta la lista de funciones utilizadas y haciendo doble clic en alguna de ellas se puede ver cuando las utiliza.

Si hacemos allí clic en USER32.MESSAGEBOXA va a tirarnos donde se usa esa función dentro del programa.

Existen muchas funciones y varias son las mas utilizadas por los crackers, además de MESSAGEBOXA, esta también MESSAGEBOX sin la A que es la misma función equivalente para programas de 16 bits .

También hay funciones bastante parecidas

Curso de crakeo leccion 3 FUNCIONES DE WINDOWS (api)
bpx MessageBox

bpx MessageBoxExA

bpx MessageBeep

bpx SendMessage

bpx DialogBoxParamA

bpx CreateWindow

bpx CreateWindowEx

bpx ShowWindow

bpx UpdateWindow

Curso de crakeo leccion 3 FUNCIONES DE WINDOWS (api)GIF

bpx GetDlgItemText

bpx GetDlgItemInt

bpx GetWindowText

bpx GetWindowWord

bpx GetWindowInt

Para programas con vencimiento de tiempo se usan estas funciones para que el programa tome la hora o la fecha del sistema

bpx GetLocalTime

bpx GetFileTime

bpx GetSystemtime

Entonces se pone un bpx en alguna de estas funciones y después cuando compara la fecha con la fecha en que el programa tiene que vencer se parchea el salto .(VEREMOS MAS ADELANTE EJEMPLOS DE ESTO)

Curso de crakeo leccion 3 FUNCIONES DE WINDOWS (api)
Después esta para propósitos generales

BPX HMEMCPY

Para crackear números de serie

BPX LSTRCMPA

BPX MULTIBYTETOWIDECHAR

BPX WIDECHARTOMULTIBYTE

Generalmente dentro de estas funciones en la primera se comparan cadenas de texto y en las otras dos se transforman cadenas de texto de tipo normal a ancho o sea que si la cadena normal es

787878 si le aplicas la segunda función se transforma en 7.8.7.8.7.8 que se llama formato ancho y es muy utilizada en las comparaciones, después generalmente con D en las posiciones de memoria dentro de la función aparecerá la cadena de texto o la clave (MAS ADELANTE VEREMOS EJEMPLOS)

Iremos viendo en sucesivos crackeos que iremos estudiando como se utilizan estas funciones y como aprovechar sus utilizaciones para nuestro provecho.

Vemos tambien que pueden practicar con el MIXIIxa que también utiliza BPX MESSAGEBOX lo único que hay que tener en cuenta es que cuando ponemos el BPX MESSAGEBOX y cuando rompe en el softice apretamos F12 y después ponemos OMITIR y vuelve a romper en el SOFTICE esta vez la línea verde que nos muestra que programa se esta ejecutando dice MFC42 por lo cual tenemos que hacer F12 tantas veces como sea necesario para llegar al ejecutable, en este caso con una sola vez que tecleemos F12 vuelve a aparecer el MIXxaIII en la parte que habíamos estudiado con el WDASM y un poco mas arriba están los saltos a parchear.

Un ejemplo de cómo utilizar la función BPX HMEMCPY es el programa IDESK versión 2,60 que se puede bajar del FREEDRIVE

http://www.freedrive.com/ASP/PostFolderShortcut.asp?fsc=8737470

esta es la otra carpeta del FREEDRIVE donde hay algunos programas para crackear.

Este programa cuando lo instalamos se instala en C:/INTERNET DESK y alli esta el ejecutable IDESK.exe, si lo desensamblamos con el WDASM vamos a ver que no aparecen STRING REFERENCES ni funciones importadas (POSIBLEMENTE EL EJECUTABLE ESTE COMPRIMIDO LO CUAL APRENDEREMOS A DESCOMPRIMIR MAS ADELANTE PERO IGUAL LO VAMOS A CRACKEAR)

Ejecutamos el programa y cuando arranca vamos a donde esta el SIGNO DE INTERROGACIÓN – ACERCA DE- REGISTRAR y alli nos aparece una ventanita con un lugar para poner el numero de serie y el nombre de usuario.

Si probamos con el softice vemos que BPX MESSAGEBOX NI MESSAGEBOXA son ya que alli no para el programa. Entonces hacemos lo siguiente:

Escribimos un numero de validación cualquiera por ejemplo 989898 (POR AHORA USEN ESTE NUMERO) y un nombre de usuario por ejemplo: pepe y antes de apretar REGISTRAR hacemos CTRL.+D y tecleamos BPX HMEMCPY y luego X para volver al programa y ahí si ponemos REGISTRAR y BUUUUUUUUUMP adentro.

Tecleamos varias veces F12 (SIETE EXACTAMENTE HASTA VOLVER AL IDESK FIJARSE LA LINEA VERDE DONDE DICE EL NOMBRE DEL PROGRAMA EJECUTADO), y alli seguimos ejecutando con F10 sentencia por sentencia hasta que ejecuta todos esos RET y POP y vuelve a la parte buena del programa

4c9d7b.

Alli podemos borrar todos los BPX con BC* y poner un BPX 4c9d7b para que si volvemos a ejecutar el programa no tengamos que hacer todo ese proceso y paremos directamente aquí.

Si seguimos tecleando F10 vamos a ver varios saltos que si los invertimos no pasa nada hasta que llegamos a la comparación y el salto de 4c9dc0 y 4c9dc6 allí esta el salto que al invertirlo nos registra pero no lo hagan ya que alli hay mas sorpresas podemos sacar el numero de serie para el nombre pepe (O PARA EL QUE HAYAN PUESTO USTEDES)

Cuando estamos encima de la comparación CMP EAX,[52b504]

esta sentencia compara EAX con el CONTENIDO de 52b504 como estamos justo encima de la sentencia el SOFTICE y alli hay una operación que es hallar el CONTENIDO DE 52b504 siempre que una sentencia tiene una operación y estamos justo encima de ella el SOFTICE nos muestra en CELESTE el resultado de la operación ,si vemos en la esquina superior derecha vemos

DS:52B504 =F1ACA

Veamos que es F1ACA

? F1ACA = 989898

O SEA QUE ESTA COMPARANDO ALGO CON 989898 que es el numero trucho de serie que yo puse y que puede comparar con el numero trucho 989898 EL NUMERO DE SERIE VERDADERO o sea que si hacemos ? EAX tenemos el numero de serie que corresponde a nuestra maquina y a el nombre que hayamos puesto.

En general el método de HMEMCPY es bastante usado para hallar números de serie o saltos cuando el WDASM no ayuda mucho o en programas VISUAL BASIC o DELPHI tambien.

Siempre hay que volver al programa con F12 varias veces y después seguir ejecutando F10 hasta llegar a la parte de comparaciones y saltos.

En realidad las funciones de WINDOWS nos permiten interrumpir la ejecución de un programa casi cuando queramos, a medida que vayanos avanzando veremos otras funciones y como nos pueden ayudar a crackear programas distintos.

ESCRIBAN NO SEAN VAGOS que eso da fuerza para seguir.

No comments yet.

Leave a Comment