Disassemblare un binario ELF su un sistema Ubuntu x86 Non ho potuto fare a meno di notare che la sezione del codice (.text) parte dall'indirizzo virtuale 0x8048000 e tutti gli indirizzi di memoria inferiori sembrano non essere utilizzati.Perché gli indirizzi di memoria virtuale per i binari Linux iniziano a 0x8048000?
Questo sembra essere piuttosto dispendioso e tutto ciò che appare su Google è folklore involving STACK_TOP o protezione contro i dereferenze con puntatore nullo. L'ultimo caso sembra che possa essere risolto utilizzando una singola pagina invece di lasciare un intervallo di 128 MB.
Quindi la mia domanda è questa: c'è una risposta definitiva al motivo per cui il layout è stato fissato a questi valori o è solo una scelta arbitraria?
Non conosco la risposta effettiva; ma forse questo articolo potrebbe aiutare o almeno fornire una lettura interessante! http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html –
possibile duplicato di [Perché l'indirizzo virtuale del punto di ingresso dell'esecuzione ELF del modulo 0x80xxxxx e non zero 0x0?] (http: // stackoverflow .com/domande/2187484/why-è-il-elf-esecuzione-entry-point-virtual-address-of-the-form-0x80xxxxx-e-n) –