はい努力するUSBが接続されているときに傍受する方法の詳細を学び、USBを接続して使用する環境を完全にカスタマイズできます。何も起こらず。つまり、USBデバイスは、特定のドライバの特定の機能や同様のものを呼び出す必要はありません。このプロセスを手動で呼び出し、他の方法で回避したいと思います。
次の記事を読んだのにとても役に立ちました。
内容は次のとおりです。
usb_driver
USBドライバは、USBドライバを識別するいくつかの関数コールバックと変数を含む構造で表されます。モジュールがプログラムでロードされると、insmod
ドライバ__init usb_ml_init(void)
をUSBサブシステムに登録する機能が実行されます。モジュールが削除されると、__exit usb_ml_exit(void)
USBサブシステムからドライバの登録をキャンセルするように呼び出されます。タグ__init
は、__exit
これらの関数が初期化および終了時にのみ呼び出されることを示します。モジュールがロードされると、プローブと切断機能のコールバックが設定されます。デバイスが接続されたときに呼び出されるプローブ関数コールバックでは、ドライバはUSBデバイスを管理するために使用されるすべてのローカルデータ構造を初期化します。たとえば、接続されているデバイスのランタイムステータス情報を含むstruct usb_mlにメモリを割り当てます。
probe
Linuxカーネルが接続されているすべてのUSBデバイスを自動的に呼び出すようです。基本的に、probe
他のすべての潜在的なドライバ機能が呼び出されるのを防ぐことによって、呼び出される唯一の機能が私のドライバであるのを防ぐ方法がわかります。その後、私のドライバはそこから他のドライバの1つを手動で選択し、そのドライバとすべてをインストールできます。
私のドライバを除くすべてのドライバでプローブが呼び出されるのを防ぐ方法、または他の方法でこれを達成する方法は、Linuxソースコードのどこにありますか?