1

Windows上のドライバーは、コード署名のために署名してMicrosoftに送信する必要があります。これは、64ビットシステムの要件です。問題は、ドライバーを更新する必要がある場合、リリースごとに1回、ドライバーを再度送信する必要があることです。

ある種のプロキシまたはシムドライバーを作成して、署名と送信を1回だけ行い、コードを別のモジュールに入れることはできますか?

もちろん、DLL内の作業コードを移動することはできません。動的にロードされたモジュールも、64ビットカーネルモードで実行するために署名する必要があるためです。コードをrawファイルに入れ、メモリにロードして(実行フラグを有効にして割り当て)、実行するとどうなりますか?他のアイデア?

4

1 に答える 1

0

ドライバーをMicrosoftに提出する必要はありません。相互署名証明書を使用してドライバーに署名する必要があります。この方法でナグスクリーンが表示されますが、これは禁止されていません。

あなたがやりたいことをやろうとする試みがいくつかありました。これらは「ほとんど」許容されませんが、これらのドライバーはいつでも禁止される可能性があります。(署名を取り消すことにより)

プロセスは非常に簡単です:

  1. 署名されたドライバーをロードします。
  2. ユーザーモードプログラムがカーネルにメモリを送信できるIoControlを提供します。
  3. このメモリの実行ビットを変更し、このメモリ内のアドレスを呼び出すだけです。
于 2010-07-01T15:06:28.433 に答える