2012-12-27 25 views
9

E 'possibile identificare un dispositivo USB con un identificativo univoco come un sistema operativo con Mac-ID, ID disco rigido, ID scheda Ethernet con identificatori univoci? So che si può facilmente cambiare il numero di serie del volume della partizione USB o potrebbe essere cambiato quando l'utente lo Formatta.Come identificare UNICAMENTE un dispositivo USB?

Ma esiste un ID un tipo di "ID disco rigido USB o ID hardware USB" che può essere recuperato tramite MFC (Visual C++ o C#) utilizzando il servizio WMI? Un identificatore del genere sarà unico per il dispositivo fisico? Chiarire gentilmente ...

+0

A volte ci sono schede di rete economiche con indirizzi MAC uguali o pari a zero. –

+0

@ Vi. Puoi spiegare il tuo commento? – highlander141

+0

I mezzi a volte ci sono dispositivi un po 'errati che sono veramente "identici" dal punto di vista del computer e hanno numeri seriali uguali o uguali anche se gli standard richiedono unicità. Perché è necessario discriminare dispositivi USB arbitrari? O hai bisogno di questo solo per quelli specifici come la memoria di massa o gli adattatori di rete? –

risposta

12

L'equivalente più vicino di un "numero univoco" disponibile in qualsiasi dispositivo USB è il VID e il PID, il fornitore e gli ID prodotto. Viene utilizzato per identificare il dispositivo e installare il driver appropriato per questo. Tuttavia, è lo stesso insieme di numeri per lo stesso prodotto, non è abbastanza buono per identificare il particolare dispositivo che hai in mano. E quindi inutile implementare una procedura di verifica della licenza, presumibilmente ciò che si sta cercando.

Solo determinati tipi di dispositivi USB implementano un numero di serie. Si ottiene per errore da un'unità flash a causa del formattatore di unità che genera un numero di serie del volume. Inutile pure, può essere facilmente modificato. Un adattatore wifi USB potrebbe funzionare, il produttore deve generare un indirizzo MAC univoco.

C'è una classe di dispositivi USB che sono perfetti per questo obiettivo. Il nome generico è "dongle", sono fatti per questo. Quando ne acquisti uno, ricevi anche un software che puoi collegare al tuo programma che fornisce un metodo a prova di manomissione per verificare il numero di licenza, un'altra parte importante di una procedura di verifica della licenza e di solito il link debole. Ulteriori informazioni sui dongle in questo Wikipedia article.

+1

Per quanto riguarda il VID e il PID. Appare da ciò che ho potuto scoprire che l'ID fornitore e l'ID prodotto sono quelli del componente USB in un dispositivo piuttosto che quello del dispositivo stesso. In altre parole, diversi dispositivi fisici USB di diversi fornitori che offrono funzionalità simili possono ricevere lo stesso componente USB da un fornitore specifico. Il VID e il PID ottenuti è per il componente USB e non identifica il dispositivo di cui fa parte il componente USB. Per determinare le caratteristiche del dispositivo reale utilizzato per la compilazione del componente USB, è necessario eseguire ulteriori query. –