Quando compilo questo pezzo di codiceGCC hotpatching?
unsigned char A[] = {1, 2, 3, 4};
unsigned int
f (unsigned int x)
{
return A[x];
}
uscite gcc
mov edi, edi
movzx eax, BYTE PTR A[rdi]
ret
su una macchina x86_64.
La domanda è: perché esiste un'istruzione nop (mov edi, edi)?
Sto usando gcc-4.4.4.
Ovviamente è solo per offuscare il codice! –