実行中のプロセスのスタックにバイナリコードを書き込むためにptraceを使いたいと思います。 しかし、これはセグメンテーションフォルト(信号11)を引き起こします。最近のLinuxでプロセスのスタック内でコードを実行
%eipレジスタが、スタックに実行したい最初の命令へのポインタを格納していることを確認できます。私は、Linuxが実行可能なスタックデータを保護するいくつかのメカニズムがあると思います。
だから誰もそのような保護を無効にする方法を知っていますか?具体的には、私はFedora 15を試しています。
ありがとう!
すべての返信を読んだあと、execstackを試してみました。これは実際には実行可能なコードを実行可能にしました。皆さん、ありがとうございました!
あなたはptrace特権を持っています。これはあなたが同じユーザーであるか、またはあなたがrootであるためですか?あなたはどのアーキテクチャをターゲットにしていますか? – Tobu