21

是否可以通过唯一标识符来识别 USB 设备,例如操作系统具有 Mac-ID、硬盘 ID、以太网卡 ID 具有唯一标识符?我知道可以轻松更改 USB 分区的卷序列号,也可以在用户格式化时更改。

但是是否有某种“USB 硬盘 ID 或 USB 硬件 ID”的 ID,可以使用 WMI 服务通过 MFC(Visual C++ 或 C#)检索?这样的标识符对物理设备来说是唯一的吗?请澄清...

4

1 回答 1

25

任何 USB 设备中可用的“唯一编号”最接近的等价物是 VID 和 PID、供应商和产品 ID。它用于识别设备并为其安装正确的驱动程序。但是,它是同一产品的同一组数字,不足以识别您手中的特定设备。因此,实施许可证验证程序毫无用处,大概是您所追求的。

只有特定类型的 USB 设备实现了序列号。由于驱动器格式化程序会生成卷序列号,因此您会从闪存驱动器中意外获取它。也无用,它可以很容易地改变。USB wifi 适配器可以工作,制造商必须生成唯一的 MAC 地址。

有一类 USB 设备非常适合此目标。通用名称是“加密狗”,它们就是为此而生的。当您购买一个时,您还将获得可以链接到您的程序的软件,该软件提供了一种防篡改方式来验证许可证号,这是许可证验证过程的另一个重要部分,通常是薄弱环节。有关此Wikipedia 文章中的加密狗的更多信息。

于 2012-12-27T13:34:52.163 回答