是否可以通过唯一标识符识别USB设备,例如操作系统具有Mac-ID,硬盘ID,以太网卡ID是否具有唯一标识符?我知道可以轻松更改USB分区的卷序列号,也可以在用户格式化时更改它。
但是,是否有某种“USB硬盘ID或USB硬件ID”可以使用WMI服务通过MFC(Visual C ++或C#)检索?这样的标识符对于物理设备是否是唯一的?请澄清......
答案 0 :(得分:16)
任何USB设备中最接近的“唯一编号”是VID和PID,供应商和产品ID。它用于识别设备并为其安装适当的驱动程序。但是,对于同一产品,它是相同的数字集,它不足以识别您手中的特定设备。因此无法实施许可证验证程序,大概是你所追求的。
只有某些种的USB设备才能实现序列号。由于驱动器格式化程序生成卷序列号,您偶然会从闪存驱动器中获取它。也没用,它很容易改变。 USB wifi适配器可以工作,制造商必须生成唯一的MAC地址。
为此目标,有一类完美的USB设备。通用名称是“加密狗”,它们是为此而制作的。当您购买一台软件时,您还可以获得可以链接到您的程序中的软件,该软件提供了一种防篡改方式来验证许可证号,这是许可证验证程序的另一个重要部分,通常是薄弱环节。有关此Wikipedia article的加密狗的更多信息。