2012-01-12 10 views
1

ptrace(2)は、Linuxプロセスの「ユーザー」領域(PTRACE_POKEUSERの場合はhttp://linux.die.net/man/2/ptrace)を変更するためのツールを提供します。Linuxプロセスの「ユーザー」領域のレイアウト

このメモリ領域はどのように見えますか?レイアウトの文書はどこにありますか?

ありがとうございます!

P.S.このエリアにはシグナルアクション、会計情報、システムスタックなどが含まれていることがわかりますが、正確なフォーマットが不思議です。 PEEKUSERアンダー=)

+0

私の目標は、(mprotectと呼ばれる制御されたプロセスのように)vmemページのパーミッションを設定することです。その情報がこの「ユーザー」領域にあるかどうか不思議です。 – sholsapp

答えて

2

、ptraceのためのmanページが

を言いますが、レジスタやプロセスに関するその他の情報を保持している子のユーザ領域、(<sys/user.h>を参照)のオフセットaddrの単語を読み込みます。

を参照して、struct userの定義を確認してください。そこから物事にアクセスするには、offsetofマクロを使用して、必要なデータを読み書きするための正しいオフセットを見つけることが必要になります。

+0

私のGNUバージョンは、文書化されていません。しかし、ありがとう、これはスタートです! – sholsapp