katsuhiro -> katsuhiro/refmon -> katsuhiro/refmon/clone

sys_clone への書き換えによる sys_fork と sys_vfork の追跡

ptrace を用いて sys_fork と sys_vfork を追跡する手法と、それに付随する注意点、気づいた点について。

子、孫プロセスのトレース

clone に書き換える方式の欠点

sys_clone 書き換え方式の実装

sys_fork の書き換え

呼び出すシステムコール番号を sys_clone に書き換える。引数をいじって CLONE_PTRACE を指定させる。

sys_vfork の書き換え

基本的には sys_fork のときと同じ実装である。

実装でつまづいた点

sys_clone の書き換え

フラグに CLONE_PTRACE が指定されていなければ、フラグに追加するという書き換えを行う。また、sys_fork や sys_vfork のときと同様に、システムコールが復帰した時点でレジスタの値を復元する。

実装でつまづいた点


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-09-13 (土) 08:26:39