3

私は自分の OS クラスのルートキットを作成しています (先生は私がここで助けを求めても大丈夫です)。私のルートキットは sys_read システム コールをフックして、「魔法の」ポートをユーザーから隠します。ユーザー バッファ *buf (sys_read の引数の 1 つ) をカーネル空間 (kbuf と呼ばれるバッファ) にコピーすると、カーネル パニック/コア ダンプ エラーが発生します。これは、読み取りを中断するとシステムが停止するためである可能性がありますが、誰かがこれについて何らかの見通しを持っているのだろうか.

コードはオンラインで入手できます。207行目を見てください: https://github.com/joshimhoff/toykit/blob/master/toykit.c

getdents をフックし、copy_from_user を使用して getdents 構造体をカーネル空間に持ってきたところ、うまくいきました。読み方の違いがよくわかりません。

助けてくれてありがとう!

4

1 に答える 1