Estoy tratando de entender ROP y luchar con las siguientes dos preguntas:
-
A menudo leo que ROP pasa por alto ASLR y DEP. Si bien me queda claro que el ROP es una forma perfecta de evitar el DEP, no veo cómo se pasa por alto el ASLR. ¿Es porque la sección del código no es aleatoria?
-
También estoy leyendo mucho sobre estos gadgets pop / pop / ret, pero no entiendo por qué son necesarios. ¿No es un gadget que termine en una ret lo suficientemente bueno?