2012-12-27 42 views
9

Ist es möglich, ein USB-Gerät durch eine eindeutige Kennung wie ein Betriebssystem mit Mac-ID, Festplatten-ID, Ethernet-Karten-ID mit eindeutigen Kennungen zu identifizieren? Ich weiß, dass man die Volumenseriennummer der USB-Partition leicht ändern kann, oder es könnte geändert werden, wenn Benutzer es formatiert.Wie identifiziert man UNIQUELY ein USB-Gerät?

Aber gibt es eine ID irgendeine Art von 'USB Harddisk ID oder USB Hardware ID', die über MFC's (Visual C++ oder C#) mit dem WMI Service abgerufen werden kann? Wird eine solche Kennung für das physische Gerät eindeutig sein? Bitte klären Sie ...

+0

Manchmal gibt es billige Netzwerkadapter mit gleichen oder Null MAC-Adressen. –

+0

@ Vi.Kannst du deinen Kommentar erklären? – highlander141

+0

Bedeutet manchmal, dass es ein bisschen falsche Geräte gibt, die aus der Sicht des Computers wirklich "identisch" sind und keine oder gleiche Seriennummern haben, selbst wenn Standards einen eindeutigen Wert erfordern. Warum müssen Sie willkürliche USB-Geräte unterscheiden? Oder benötigen Sie dies nur für bestimmte wie Massenspeicher oder Netzwerkadapter? –

Antwort

12

Das am nächsten stehende Äquivalent einer "eindeutigen Nummer", die in jedem USB-Gerät verfügbar ist, sind die VID und PID, die Hersteller- und Produkt-IDs. Es wird verwendet, um das Gerät zu identifizieren und den richtigen Treiber dafür zu installieren. Es ist jedoch die gleiche Menge von Nummern für das gleiche Produkt, es ist nicht gut genug, um das bestimmte Gerät zu identifizieren, das Sie in der Hand haben. Und damit nutzlos, um ein Lizenzverifizierungsverfahren zu implementieren, vermutlich, wonach Sie suchen.

Nur bestimmte Art von USB-Geräten implementieren eine Seriennummer. Sie erhalten es versehentlich von einem Flash-Laufwerk aufgrund der Laufwerk Formatierer eine Volume-Seriennummer generieren. Auch nutzlos, kann es leicht geändert werden. Ein USB-WLAN-Adapter könnte funktionieren, der Hersteller muss eine eindeutige MAC-Adresse generieren.

Es gibt eine Klasse von USB-Geräten, die perfekt für dieses Ziel sind. Der generische Name ist "Dongle", sie sind dafür gemacht. Wenn Sie einen kaufen, erhalten Sie auch Software, die Sie in Ihr Programm einbinden können, die eine manipulationssichere Möglichkeit bietet, die Lizenznummer zu verifizieren, ein weiterer wichtiger Teil einer Lizenzverifizierungsprozedur und normalerweise der schwache Link. Mehr über Dongles in diesem Wikipedia article.

+1

Betreffend VID und PID. Aus dem, was ich feststellen konnte, ergibt sich, dass die Hersteller-ID und Produkt-ID die der USB-Komponente in einem Gerät und nicht die des Geräts selbst sind. Mit anderen Worten, verschiedene physische USB-Geräte von verschiedenen Herstellern, die ähnliche Funktionalität bieten, können dieselbe USB-Komponente von einem bestimmten Hersteller beziehen. Die VID und PID, die Sie bekommen, sind für die USB-Komponente und identifizieren nicht das Gerät, zu dem die USB-Komponente gehört. Um die Eigenschaften des tatsächlichen Geräts zu ermitteln, für das die USB-Komponente verwendet wurde, müssen Sie weitere Abfragen durchführen. –