Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: x64core en 26 Diciembre 2011, 05:03 am



Título: Duda Con MOV de APIs
Publicado por: x64core en 26 Diciembre 2011, 05:03 am
Buenas feliz navidad a todos :xD
bueno tengo una duda sobre el asm de las APis, cuando las veo con un depurador es varias Apis veo
esta instruccion: mov edi,edi
porque esta esa instruccion? estaria copiando el resultado al mismo operando :P


Título: Re: Duda Con MOV de APIs
Publicado por: Eternal Idol en 26 Diciembre 2011, 12:45 pm
Es un relleno para hacer hotpatching. Los compiladores modernos de Microsoft, de acuerdo a la configuracio, emiten un mov edi, edi al principio de cada funcion ademas de 5 nops (o int 3s en algun caso) al final de cada funcion, entonces lo que se hace es reemplazar los dos bytes del mov edi, edi por un salto corto al primero de los 5 nops y ahi se pone un salto al hook. Se usa una instruccion de dos bytes para poder hacer la escritura en la funcion atomicamente y en una sola instruccion.


Título: Re: Duda Con MOV de APIs
Publicado por: x64core en 26 Diciembre 2011, 18:09 pm
Gracias EI  ;D
Habia pensado sobre que la usaba tipo nop porque no hacia absolutamente nada :P


Título: Re: Duda Con MOV de APIs
Publicado por: Eternal Idol en 26 Diciembre 2011, 18:36 pm
De nada  :)