Con gcc
, es posible compilar con -fstack-protector
, pero omitir para una función específica.
Por ejemplo, digamos que tengo dos funciones.
void a() {
...
}
void b() {
...
}
¿Puedo decirle al compilador que compile un programa que usará un valor controlado antes de la dirección de retorno guardada de a
, pero no un valor controlado para b
?
Solución del problema
Tendría que probar si funciona (inspeccione el código generado en Godbolt) pero parece que puede hacerlo, por ejemplo:
__attribute__ ((no_stack_protector)) void foo () {... }
no_sanitize
parece una opción intrigante, me pregunto quién usa eso.
No hay comentarios:
Publicar un comentario