Foro de elhacker.net

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
  1. __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.