いいじまです。

Linux の実機がないので未確認のまま書いてますが…

> connect のソースを読んでみたいなーとか考えて、libcのソースを get
> してきました (glibc_2.2.5.orig.tar.gz)。が、展開して探してみても
> connectがどこにあるのか探し当てる事は出来ませんでした。connectは
> system callだから、カーネルなのかしらんと、カーネルソースを取得
> してきたのですが、

本題は解決の方向に向かっているとして、問題部分はまず libc にあるはずです。

x86 Linux の場合、アセンブラレベルでのシステムコールの呼び出しには、
レジスタに値をセットして int 0xNN 命令を使うと記憶しています。
バッファ・オーバーフローの exploit code ではこの直接呼び出しが一般的です。

ところがこれは C 言語からは直接には関数呼び出しとして扱えませんので
(インラインアセンブラという方法はありますが)、そのための wrapper が
必要です。そして、wrapper を提供するのは libc です。

ただ、libc を読んでも、もしかしたら connect 関数はアセンブラで書かれて
いて、純粋に int 0xNN への wrapper にしかなっていない、という可能性も
あります。
#アセンブラソースも grep しました?>>柏崎さん

で、それを確認したら今度はカーネルソースをあたる、と。

========================================================================
飯嶋 浩光 / でるもんた・いいじま   http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta           mailto:delmonta@ht.sakura.ne.jp