Un po 'di nuovo nella zona, oggi stavo sperimentando alcune sfide sui buffer overflow e ho trovato una tecnica di prevenzione che non riuscivo a identificare. Fondamentalmente, hanno avuto l'indirizzo di pila ripristinato da un valore che è stato memorizzato direttamente sopra gli argomenti locali nello stack. (Quindi sovrascrivere le variabili locali, renderebbe difficile il ritorno in codice controllato quando aslr è attivo)
L'epilogo era:
pop ecx
lea esp,[ecx-0x4]
ret
Ho trovato piuttosto difficile ignorare quando non c'è accesso all'accesso alla memoria indiretta, quindi stavo cercando il nome della suite / tecnica protector per fare qualche ricerca su di esso.
Sembra che possa essere bypassato efficacemente solo quando aslr è disattivato, poiché l'utente non può impostare lo stack in una delle sue aree controllate.