Duda Con MOV de APIs

Iniciado por x64core, 26 Diciembre 2011, 05:03 AM

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

x64core

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

Eternal Idol

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.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

x64core

Gracias EI  ;D
Habia pensado sobre que la usaba tipo nop porque no hacia absolutamente nada :P

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón