Linux (kernel e applicazioni) supporta NX-bit sui processori ARM? In tal caso, come posso verificare se un binario ARM è compilato con questa protezione abilitata?
L'implementazione NX-bit è supportata da ARMv6, e sì, linux ha anche il supporto per esso. (Le implementazioni NX richiedono sia il supporto del sistema operativo che il supporto della CPU)
Ora se vuoi controllare il bit nx, puoi farlo come con qualsiasi altra piattaforma, c'è un buon vecchio script chiamato checksec.sh dal team trapkit, qui puoi vedere l'implementazione:
# check for NX support
if readelf -W -l $1 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; then
echo -n -e '3[31mNX disabled3[m '
else
echo -n -e '3[32mNX enabled 3[m '
fi
Script completo: link
Se vuoi vedere un'implementazione in Python, anche Peda (Python Exploit Development Assistance per GDB) ne ha una (hanno portato lo script trapkit)