2

私は現在、Windows オペレーティング システムが実行されるさまざまなモード (カーネル モードとユーザー モード)、デバイス ドライバー、それぞれの長所と短所、およびコンピューターのセキュリティ全般について学んでいます。

重要な OS プロセスに使用されるメモリを破損するなど、カーネル モードで実行される欠陥のあるデバイス ドライバーがシステムに与える影響について、実用的な例を作成したいと思います。

  • ユーザー モードではなくカーネル モードでコードを直接実行するにはどうすればよいですか?
  • これを行うには、ダミーのデバイス ドライバを作成してインストールする必要がありますか?

  • Windows のカーネル モードとユーザー モードの詳細については、どこで確認できますか?

私はこれの危険性を知っており、Windows XP のみを実行している仮想マシンですべての実験を行います

4

3 に答える 3

3

「Windows Internals」の本は、問題のトピックについてかなり浅いです。

まず、どのプログラムもカーネル モード (KM) で実行されることに注意してください。これは、Unixoid システムとは異なり、システム呼び出しの場合、呼び出し元のスレッドが KM に遷移し、そこでカーネル自体またはドライバーの 1 つが要求を処理してから、ユーザー モード (UM) に戻るという事実によるものです。

開始するための最初のステップは、最新の Windows Driver Kit (WDK) をダウンロードし、ドキュメントを読み始めることです。より消化の良い本が必要な場合は、次のいずれかを選択してください。

  1. Windows NT デバイス ドライバーの開発 - 古いタイトルですが、基本の多くはまだ適用されます。
  2. Windows ドライバー モデルのプログラミング (Oney 著) - 特に WDM プログラミングは、基本もカバーしていますが、(ほとんどの本と同様に) いくつかのエラーがあります。
  3. Undocumented Windows 2000 Secrets (Schreiber 著) - 前述の本よりも技術的なレベルで、あらゆる種類の内部構造に関する多くの情報が含まれています。
  4. 文書化されていない Windows NT - 技術レベルの内部に関するより一般的な部分と、いくつかのネイティブ API 関数のリファレンスが含まれています。
  5. Windows NT/2000 Native API - 古典的ですが、より参考になります。それにもかかわらず、いくつかの宝石 (および例) があります。

Windows XP を使用したいので、rootkit.com で説明されている手法の多くは (数年前のものであっても) 機能するはずです。サンプルもたくさんいただきました。

そして、参照されたウェブサイトの名前からわかるように、あなたは実際、私がその質問で灰色の領域と呼んでいるものにいます ;)

于 2011-02-12T16:11:48.327 に答える
0

これは簡単な答えです。ご想像のとおり、カーネル モードで実行するには、デバイス ドライバーを作成する必要があります。残念ながら、カーネル モード プログラミングに関する特に優れたリファレンスを知りませんが、簡単な Web 検索で次のことがわかります。

于 2011-01-12T18:51:14.280 に答える
0

Windows Internals をよく理解している必要があります。

http://technet.microsoft.com/en-us/sysinternals

はい、彼らは本を持っています: Windows Internals

http://technet.microsoft.com/en-us/sysinternals/bb963901

http://www.amazon.com/Windows%C2%AE-Internals-Inclusive-Windows-PRO-Developer/dp/0735625301

基本的に、あなたの疑問はすべてこの本で解決されます (サンプルやハンズオン ラボも付いています)。

于 2011-01-13T02:29:48.170 に答える