Windows 7(またはVista)のプロセスでリング0の動作モードをどのように取得できますか?C++でリング0モードを取得する(Windows)
8
A
答えて
16
2
あなたはユーザーモードプロセスからカーネルモードを設定することはできません。それがセキュリティの仕組みです。
7
技術的に言えば、すべてのプロセスでは、カーネルモード(リング0)で時間の一部を費やしているスレッドがあります。ユーザーモードのプロセスがOSにシステムコールを行うたびに、スレッドが 'ゲート'を介してリング0に入る遷移があります。プロセスがデバイスと対話し、プロセス全体のメモリを割り当てたり、新しいスレッドを生成したりする必要がある場合は、OSにこのサービスを提供するように尋ねるためにシステムコールが使用されます。
したがって、プロセスにリング0でコードを実行させたい場合は、ドライバを作成してから、このドライバといくつかのシステムコールを介して通信する必要があります。これに最も一般的なシステムコールは、ioctl(I/O Controlの略)と呼ばれます。
Windowsプラットフォームで見るもう1つのことは、UMDF(ユーザーモードドライバフレームワーク)です。これにより、ドライバをユーザーモード(リング3で実行中)で書き込み、デバッグ、テストすることができますが、システム内の他のドライバや他のプロセスが引き続きアクセスすることができます。
関連する問題
- 1. C++でWindowsでタイムゾーンを取得する
- 2. なぜglReadPixelsメソッドは常にRGB(0、0、0)を取得する
- 3. Javaのモード値を取得
- 4. C++でWindows 7 APIを使用してランプロセスを取得する
- 5. 画面の平均色を取得する - Windows 7 C/C++
- 6. Windowsサービスのカスタムステータスを取得するには? [C++/C#]
- 7. ExcelDnaでExcel計算モードを取得
- 8. C#.net windowsアプリケーションでシステムメモリを取得するには?
- 9. C#でWindowsサーバーのシャットダウン理由を取得する
- 10. C#でWindows Mobileのストリームからイメージを取得する
- 11. C#で現在のページのHTMLソースを取得するWindowsフォームアプリケーション
- 12. タッチ座標を取得する(0-480と0-320の形式)
- 13. ソールでファセット数0を取得
- 14. C++で-0を取り除く方法
- 15. ローカルWindowsの取得C#のユーザーログインセッションのタイムスタンプ
- 16. IAMVideoProcAmp - 自動モードで設定されるプロパティを取得する
- 17. PHPでWindows時間を取得する
- 18. Windowsでシステムを取得する
- 19. Windowsアプリケーションでコントロール名を取得する
- 20. Windowsでgtk.gdk.window.handleを取得する
- 21. Windowsでプロセスメモリを取得する
- 22. 大きなファイルのサイズを取得するCのサイズを返す0
- 23. request.htmlローカルファイル取得status = 0
- 24. 厳密モードのJavaScriptで "self"関数を取得する
- 25. C#WindowsアプリケーションHTMLソースコードフォームを取得する方法WebView
- 26. Windowsサービスから%appdata%を取得する[C++]
- 27. 音量レベルを取得するC#netcf(Windows Mobile)
- 28. C#のリストボックスの値を渡して取得する.net Windowsアプリケーション
- 29. Windows XPモードで複数のWindows Virtual PCを作成する
- 30. Windowsで読み取り専用モードとしてファイルを開く
自分自身に質問してください:私は本当にリング0カーネルプロセスを書いていますか? –
実際、あなたがリング0で走りたい理由を教えてください。それが良い解決策であるかどうかを教えてくれます。 – Artelius
@Mitch:WikipediaでKERNALを検索してください。スペルミスです。 – Artelius