Test Foro de elhacker.net SMF 2.1

Programación => Ingeniería Inversa => Mensaje iniciado por: x64core en 30 Septiembre 2012, 17:48 PM

Título: como Depurar un Dll ?
Publicado por: x64core en 30 Septiembre 2012, 17:48 PM
Hola a todos, quien podría decirme algun truco o como se hace generalemente para depurar una DLL cargada por un programa, mi
objetivo es depurar la DLL que cargá el programa que estoy intentando crackear , este lo carga con LoadLibrary y quisiera ponerle un BP en la primera instruccion que se ejecuta en la DLL. Cualquier ayuda gracias  :)
Título: Re: como Depurar un Dll ?
Publicado por: Eternal Idol en 30 Septiembre 2012, 19:13 PM
Código (c++) [Seleccionar]
__debugbreak();

http://msdn.microsoft.com/en-us/library/f408b4et.aspx
Título: Re: como Depurar un Dll ?
Publicado por: x64core en 30 Septiembre 2012, 19:25 PM
Eternal Idol, no es mia la DLL, es de un programa que estoy intentando crackear... pensé en modificarle el primer bytes(s) con C3
pero me borra algunas instrucciones, podria volverle a modificar esas instrucciones pero queria saber si habia alguna forma de unos
cuantos click :P
Título: Re: como Depurar un Dll ?
Publicado por: Eternal Idol en 30 Septiembre 2012, 19:29 PM
Depura el programa con WinDbg, pones:

bu modulo!truco al arrancar y g despues.

Cuando se cargue la DLL va a mostrarte un error obvio, no encuentra truco, busca el entry point y pone el breakpoint:

!dh modulo
bp modulo+entrypoint
Título: Re: como Depurar un Dll ?
Publicado por: karmany en 30 Septiembre 2012, 23:52 PM
Si lo haces con OllyDBG puedes poner un BP cuando la DLL cargue o si no lo que puedes hacer es ejecutar el programa en OllyDBG e ir a los módulos cargados y ver la dirección virtual.
Título: Re: como Depurar un Dll ?
Publicado por: x64core en 1 Octubre 2012, 21:38 PM
Grcias a los dos.