アセンブラをリング 0 として実行

アセンブラをリング 0 として実行

私はCPU温度センサーとファン速度モニターの読み取り値を報告するアプリケーションを作成しています。ただし、PECIに関するIntelの文書によると、必要な指示はリング0モード、つまりカーネルモードで実行する必要があり、そうでないと例外が発生します。

保護モードからカーネルモードに変換するコードをオンラインで見たことがありますが、ユーザーモードからカーネルモードに変換するコードはなく、カーネルで禁止するという内容を読みました。カーネルをパッチせずに元のユーザーモードにあったプログラムをカーネルモードで実行できるようにする解決策はありますか?

ベストアンサー1

カント。カーネルは、ユーザーモードコードがリング0で実行されるのを防ぐために特別に設計されています。

これを行うには、カーネルモジュールを作成し、ioctlユーザーモードプログラムの任意の方法(おそらく)を介してモジュールと通信する必要があります。

カーネルモジュールの作成には必要ありません。修理するカーネルですが、カーネルモジュールは非常に慎重に作成する必要があります。同様の作業を行うサンプルモジュールから始めて、必要に応じて修正するのが最善です。

おすすめ記事