Ho un problema quando provo a sovrascrivere l'EIP (overflow del buffer di 64 bit di base) con un indirizzo 0x0000000000400546 che è una funzione che si trova nello stesso programma .. l'EIP è a 88 byte .. quindi il mio codice in gdb sarà:
gdb > r python -c 'print "A"*88 + "\x46\x05\x40\x00\x00\x00\x00\x00"'
Finalmente ottengo l'indirizzo modificato in: 0x00007fff00400546
Programma segnale ricevuto SIGSEGV, errore di segmentazione. 0x00007fff00400546 in ?? ()
Perché è stato modificato con 7fff nel mezzo? E come indicare questo indirizzo specifico?