modprobe
このようなユーザースペースプログラムがユーザースペースの実行可能ファイルをカーネルメモリに注入する方法を知りたいです。
どのシステムコールを発行し、これを達成するためにカーネルはどのインタフェースを提供しますか? (詳しく説明してください)。
ありがとうございます。
答え1
次のいずれかの方法でモジュールをロードします。init_module
またはfinit_module
。 1つ目はポインタからモジュールをコピーし、2つ目はファイル記述子からモジュールを読み込みます。両方とも、モジュールへの追加のパラメータ渡しとカーネルの複数のフラグをサポートします。
モジュールを取り外すには、次のようにします。delete_module
、削除するモジュールの名前を使用します。
これを行うコードを書くにはlibkmod
;kmod
すべてのディストリビューションで利用可能です。