linuxでapiをフックする方法があれば教えてください。

具体的にはfailmallocのように任意のタイミングでapiが失敗するようにしてテストを行いたいのです。
failmallocはmalloc用に用意されたフックの機構を利用しているようですが、そういったフックが用意されていないapiで似たようなことをする方法はないでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/02/01 20:02:53
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:killingofthedead No.1

回答回数18ベストアンサー獲得回数4

ポイント35pt

api - システムコールをフックするには、プログラムが特権モードで動作する必要がありますが、

通常のユーザプログラムは非特権モードで動作するためにそれが出来ません。

そこで、LKM(Loadable Kernel Module)という機構を用いることにより、

特権モードでプログラムを動作させられます。

これはカーネルに任意のモジュールをアタッチ/デタッチするものです。

詳しくは以下のURLを参照して下さい。


LKMに関して

http://www.atmarkit.co.jp/fsecurity/rensai/rootkit03/rootkit01.h...


フックの例

http://www.csg.is.titech.ac.jp/~kourai/memo/linux_kernel.html

id:dekodeko

ありがとうございます

2008/01/31 14:32:51
id:killingofthedead No.2

回答回数18ベストアンサー獲得回数4

ポイント35pt

1に追記ですが、カーネルが2.6系の場合は以下のURLが参考になります。

http://wiki.bit-hive.com/tomizoo/pg/Loadable%20Kernel%20Module%A...

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません