Als ich dieses Stück Code kompilierenGCC hotpatching?
unsigned char A[] = {1, 2, 3, 4};
unsigned int
f (unsigned int x)
{
return A[x];
}
gcc Ausgänge
mov edi, edi
movzx eax, BYTE PTR A[rdi]
ret
auf einer x86_64 Maschine.
Die Frage ist: Warum ist ein NOP-Befehl (mov edi, edi) da?
Im bin mit gcc-4.4.4.
Natürlich ist es nur, um den Code zu verschleiern! –