私のシステムは x86-64 Linux で、システムのスタックまたはデータ セグメントでコードを実行しようとしています。詳細には、最初にバイナリ命令の一部を整数配列に配置し(配列をスタックまたはデータセグメントに配置しようとしました)、次に通常の関数の戻りアドレスを配列アドレスに置き換えました。毎回、セグメンテーション違反が発生しました。
私の質問は、x86-64 には、スタックまたはデータ セグメントのいずれかで実行動作を停止するセグメンテーション保護メカニズムがありますか? 本当なら、x86-64 アーキテクチャではバッファ オーバーフローによるコード インジェクションが完全に停止するということですか?