Tengo un pequeño binario compilado como no circular, pero ASLR está habilitado, por lo que las bibliotecas compartidas son aleatorias. Mi plan era filtrar cualquier dirección libc de GOT al regresar a plt, pero el único plt-stub útil que tengo es un printf. Anteriormente escribí un exploit de trabajo con este método, cuando podía usar puts, pero en este caso, la única salida que obtengo después de regresar a printf @ plt es una cadena vacía.
No pude descubrir la razón de este comportamiento hasta ahora; ¿Por qué printf actúa así? ¿Es posible incluso filtrar una dirección de esta manera?