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_sanitizeparece una opción intrigante, me pregunto quién usa eso.
No hay comentarios:
Publicar un comentario