Linux(カーネルとアプリケーション)は NX-bit on ARMプロセッサーをサポートしていますか?サポートしている場合、ARMバイナリがこの保護を有効にしてコンパイルされているかどうかを確認するにはどうすればよいですか? ?
NX-bitの実装はARMv6以降でサポートされており、Linuxでもサポートされています。 (NX実装にはOSサポートとCPUサポートの両方が必要です)
Nxビットをチェックしたい場合は、他のプラットフォームと同様に行うことができます。trapkitチームのchecksec.shと呼ばれる古き良きスクリプトがあり、ここで実装を確認できます。
# check for NX support
if readelf -W -l $1 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; then
echo -n -e '\033[31mNX disabled\033[m '
else
echo -n -e '\033[32mNX enabled \033[m '
fi
完全なスクリプト: http://www.trapkit.de/tools/checksec.html
Pythonでの実装を見たい場合は、Peda(GDBのPython Exploit Development Assistance)にも1つあります(トラップキットスクリプトが移植されています)。