是否可以通過唯一標識符識別USB設備,如操作系統具有Mac-ID,硬盤ID,以太網卡ID是否具有唯一標識符?我知道可以很容易地更改USB分區的音量序列號,或者可以在用戶格式化時更改它。如何識別唯一的USB設備?
但是有沒有ID可以通過MFC(Visual C++或C#)使用WMI服務檢索到的某種「USB硬盤ID或USB硬件ID」?這樣的標識符對於物理設備是否是唯一的?請澄清...
是否可以通過唯一標識符識別USB設備,如操作系統具有Mac-ID,硬盤ID,以太網卡ID是否具有唯一標識符?我知道可以很容易地更改USB分區的音量序列號,或者可以在用戶格式化時更改它。如何識別唯一的USB設備?
但是有沒有ID可以通過MFC(Visual C++或C#)使用WMI服務檢索到的某種「USB硬盤ID或USB硬件ID」?這樣的標識符對於物理設備是否是唯一的?請澄清...
在任何USB設備中,「唯一編號」最接近的是VID和PID,供應商和產品ID。它用於識別設備併爲其安裝適當的驅動程序。但是,對於同一個產品來說,這是一組相同的數字,不足以識別您手中的特定設備。因此無法執行許可證驗證程序,大概是你在做什麼。
只有一定的種類的USB設備實現一個序列號。由於驅動器格式化程序會生成卷序列號,所以您無意中從閃存驅動器中獲得。無用,它可以很容易地改變。一個USB wifi適配器可以工作,製造商必須生成一個唯一的MAC地址。
有一類USB設備是完美爲此目標。通用名稱是「加密狗」,它們是爲此而製作的。當您購買一個軟件時,您還可以獲得可以鏈接到您的程序的軟件,該軟件提供防篡改方法來驗證許可證編號,這是許可證驗證程序的另一個重要組成部分,通常是薄弱環節。更多關於加密狗在這Wikipedia article。
關於VID和PID。從我所能夠發現的廠商ID和產品ID看來,它們是設備中的USB組件的ID,而不是設備本身的ID。換句話說,來自不同供應商的提供類似功能的不同USB物理設備可以從特定供應商獲得相同的USB組件。您獲得的VID和PID是針對USB組件的,不能識別USB組件所屬的設備。要確定USB組件用於構建的實際設備的特性,您必須執行其他查詢。 –
有時候會有價格便宜的網絡適配器,其MAC地址相等或爲零。 –
@ Vi.Can你解釋你的評論? – highlander141
意味着有些時候,即使標準確實需要唯一的標識符,但從計算機的角度來看,它們確實是「相同的」,並且沒有或有相同的序列號。爲什麼你需要區分任意的USB設備?或者您只需要這些用於特定的大容量存儲或網絡適配器? –