magicdiscのようなプログラムが仮想CDドライブを作成し、それらをマシンにマウントするのを見てきました。これらのプログラムは、オペレーティングシステムをだまして、新しいハードウェアデバイスが接続されていると思わせるにはどうすればよいでしょうか。
仮想ハードウェア用のドライバーを作成する必要があると思います。ひどく聞こえないようにCで快適ですが、そうでないハードウェアが接続されているとOSに思わせるにはどうすればよいですか。
ありがとう!
通常、オペレーティングシステムにはさまざまなレイヤーとライブラリがあり、ある時点で、その上の何かと実際のハードウェアの間にあるライブラリがあり、そこでそれを偽造し、ある種の読み取りセクター呼び出しがある場合、次を使用してセクターを読み取るふりをしますそのセクターアドレスは、ファイルから読み取ります。各オペレーティング システム (Windows、Linux など) は、異なる方法で処理を行う場合があります。
おそらく、OS の上にあるアプリケーション レベルとして C に精通しているでしょう。仮想ドライバーはソフトウェアの一部ですが、適切な場所に設定を書き込む必要があります。Windows ではレジストリ、Linux ではいくつかの構成ファイルです。OS レベルの呼び出しとコールバックをカーネル レベルで処理する必要があります。おそらくOSシェルに統合された、デバイスと通信するためのソフトウェアも必要です。3 つ以上ではないにしても、少なくとも 2 つの層が になります。
たとえば、Windows XPの場合、仮想グラフィックカードを作成できます(およびさまざまなものを傍受できます)。Vistaの場合は、トリックだけではありません:)
それは非常に非常にOS固有です。