Ultima modifica:
Salve, avevo già letto al riguardo sull'ASLR ma non ancora ho trovato una risposta abbastanza dettagliata, se ho ben capito prendendo come esempio il programma seguente:
ogni volta che verrà riavviato si noterà che la variabile
output prima esecuzione:
output seconda esecuzione:
output terza esecuzione:
Ma questo è l'effetto dell'ASLR?
in più ho notato che gli indirizzi dei moduli mappati tendono a cambiare molto meno frequntemente rispetto alla variabile
tra l'altro su un'altro forum su cui stavo leggendo una discussione che parlava al riguardo del cambio di indirizzi ad ogni riavvio di un programma un utente scrive:
C++:
#include <iostream>
int main() {
int a = 1;
std::cout << &a;
}
a
cambierà la sua posizione nello spazio degli indirizzi virtuali, per esempio:output prima esecuzione:
0x003BFE34
output seconda esecuzione:
0x00EFFA50
output terza esecuzione:
0x012FFA00
Ma questo è l'effetto dell'ASLR?
in più ho notato che gli indirizzi dei moduli mappati tendono a cambiare molto meno frequntemente rispetto alla variabile
a
, oppure è questo l'effetto dell'ASLR e la variabile a
cambia per un'altra ragione? oppure è sempre l'ASLR che fa cambiare tutti e 2 gli indirizzi in questione?tra l'altro su un'altro forum su cui stavo leggendo una discussione che parlava al riguardo del cambio di indirizzi ad ogni riavvio di un programma un utente scrive:
Il che mi lascia al quanto perplesso (ho riportato la sua risposta intera).ASLR does not affect virtual address space, but relocation can affect the virtual address space (per module).