
No.2ベストアンサー
- 回答日時:
この回答への補足
こんばんは。回答ありがとうございます。
早速URLを確認しましたが、まだ若干難解でした。
システムコールの意味は、「ユーザーからの要求や割り込み発生時などに、カーネルへの要求が行われることをシステムコール」とあるとおりで概要は理解しました。
「カーネルとのやりとりを行うインターフェイスとなるものがカーネル関数である。」
というところのカーネル関数がどういうものかよくわかりません。
カーネル関数という何か処理をするものがカーネル内部にあり、それにアクセスするためには、sys_call_table[ ]という名前のテーブル(配列)をインタフェースとして使うことも理解しました。
フックの意味は、sys_call_table[ ]というインタフェースには、カーネル関数の所在を示すデータ値があり、それを変更することによって、別のカーネル関数を呼び出すことで、別の処理をさせることができることも理解しました。
しかし、なぜそういったこと(別の処理)をさせる必要があるのかがわかりません。
教えていただいたURLでは、悪意を持ったコード(hook_uname.c)を間にかますことで処理を変更していますが、これを正当な技術として活用できるのでしょうか?
試しにhook_uname.cをコンパイルしてみたところ、includeが適切でないようなメッセージが出ました。
ぜひ動かしてみたいので、以下のエラーの修正方法を教えてください。
[root@aaa hooktest]# gcc -c -O3 hook_uname.c
/usr/include/linux/module.h:10 から include されたファイル中,
hook_uname.c:5 から:
/usr/include/linux/config.h:5:2: #error Incorrectly using glibc headers for a kernel module
hook_uname.c:7:26: linux/string.h: そのようなファイルやディレクトリはありません
string.hで検索したところ、以下が引っかかりました。
/usr/include/bits/string.h
/usr/include/string.h
/usr/include/asm/string.h
/usr/local/include/isc/string.h
/usr/local/src/bind-9.3.1/lib/isc/include/isc/string.h
/lib/modules/2.6.9-1.667/build/include/linux/string.h
/lib/modules/2.6.9-1.667/build/include/asm-i386/string.h
よろしくお願いします。
No.3
- 回答日時:
hook_uname.cがどのOSの上で書かれているのかがわかりませんし、あなたがどのOSで開発しようとしているのかもわかりませんので、これ以上は何ともお答えできません。
これ以上の詳細は使用されているOSのドキュメントや市販されている図書により研究されることをおすすめします。こんにちは、zuntacさん。
OSの種類も記載せずに質問してしまい、申し訳ございません。
サンプルプログラムを理解するにはまだまだ力不足だとわかりました。
この問合せについてはこれで一旦クローズということにします。
ありがとうございました。
No.1
- 回答日時:
ご回答ありがとうございます。
フックという言葉の意味は理解できました。
ただ、具体的にイメージがつきませんでした。
もう少し具体例を交えてご説明いただければ助かります。
今回は別の人に補足説明の依頼をしています。
また何かありましたらご指導お願いします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像生成AIのプロンプトの作り...
-
vba 正規表現について教えてく...
-
プログラム言語
-
pythonでのローカルファイルか...
-
vba クリップボードクリアにつ...
-
今のプログラミング言語
-
数学、プログラミング、物理、...
-
プログラミング言語のバージョ...
-
⚠️至急です!⚠️ Yahoo!知恵袋の...
-
uwscでPauseキーが押されたら、...
-
数行削除してコピーするbatファ...
-
itエンジニアに就職希望で未経...
-
Python... 環境設定 初心者です...
-
if関数とは?
-
著作権法について
-
プログラミングについて
-
自作scratch アニメの商用利用
-
趣味がプログラミングだと言っ...
-
OS入ってる機器のソフト・アプ...
-
COPYコマンドで、最後に1文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンピューターの仕組み(CPU)...
-
お金をあまりかけずにプログラ...
-
Rubyを勉強したいです!
-
なんで喫茶店や図書館などでプ...
-
プログラミングの勉強サイトに...
-
3Dモデリングをゲーム感覚のよ...
-
メモ帳 プログラミング 人狼作...
-
はじめまして プログラミング初...
-
sourceforge.jpでH8マイコンでL...
-
大人が勉強中にわからないこと...
-
ローマ字学習タイピング 寿司打...
-
USBメモリーを使って、Linux Mi...
-
シリアルナンバーを紛失してし...
-
Xtra-PC の広告が出ますが、バ...
-
LinuxのUbuntuやってる人にお聞...
-
ビデオカメラからパソコンに取...
-
WPS Officeって有料ですか?
-
シーケンサー 動作確認 フリ...
-
Excelマクロ&VBAでユーザーフ...
-
ビデオプレーヤーで写真を見る...
おすすめ情報