2

Unix 系のオペレーティング システムで子プロセスの仮想アドレス空間を変更できるかどうかを知りたいです。できる能力が欲しい

(a) 共有ライブラリのロード/アンロード

(b) 子プロセスのランダムなユーザー空間メモリ ロケーションに書き込みます (共有メモリではありません)。

私は基本的に、子プロセスのプロセスアドレス空間を完全に制御したい(Windows 95を制御のように考えてください)。

デバッガーがこれをある程度達成していることは知っていますが、これを達成していますか (使用するシステムコール、主題に関するチュートリアルなど)??

4

1 に答える 1

2

ptraceを調べる必要があります。

 ptrace() provides tracing and debugging facilities.  It allows one
 process (the tracing process) to control another (the traced process).

トレースPTRACE_ATTACHの開始、PTRACE_GETREGS(SETREGS)レジスタの取得/設定、PTRACE_PEEKUSER(POKEUSER)ユーザーデータの読み取り/書き込み、PTRACE_PEEKDATA(POKEDATA)データ/コードセクションの読み取り/書き込みに使用できます。

于 2012-12-12T04:30:09.890 に答える