/proc/<pid>/maps
Android(10)で実行されているaarch64プロセスのファイルを見ています。この部分が私の関心を呼び起こしました。
72582d2000-72582f6000 --xp 00012000 07:20 93 /apex/com.android.runtime/lib64/bionic/libm.so
によると、readelf
予想通り、このセクションはこの.text
セクションに対応しています。
メモリが部分的に実行可能ですが読み取れないということはどういう意味ですか?私はそれが可能だとは思わない。
答え1
XOM(Execute Only Memory)はAndroid 10に追加されましたが、Android 11では削除されたセキュリティ機能です。
~によるとこの参照、これは「タイムリーなコード再利用攻撃に対する強化された緩和」として実装されました。