【发布时间】:2011-01-06 13:22:34
【问题描述】:
我知道,这个问题被创建了很多次,但它仍然是开放的
问题如下:
我的应用程序需要为计算机生成一些 UID,它正在运行。 我需要它来实现真正的保护。
MAC 地址是一个很好的候选者,因为它对于每个以太网卡都是唯一的。
许多文章使用 GetAdaptersInfo、WMI、NetBIOS 或套接字。
这是其中之一:Three ways to get your MAC address.
他们,岸,返回一个 MAC 地址,但这个地址可以通过适配器属性手动设置
Control Panel > Network and Internet > Network and Sharing Center > Change Adatper Settings > right click on adapter > Properties > click "configure" button > go to "Advanced" tab > chose "Network Address" and change it
所有提到的方法都不符合我的需要,因为使用驱动程序设置的MAC地址比真正的硬件MAC地址具有更高的优先级。我知道,所有 Win API 函数都会返回这个“假”地址,因此,真正的保护很容易被打破。
你们的任何帮助,伙计们,将不胜感激。
谢谢。
【问题讨论】:
-
如果 PC 有两个以太网卡,或者没有怎么办?网卡坏了需要更换怎么办?
-
你不会得到“真正的保护”。您无法进行最终不会被破坏的复制保护。最后,您可能最终会给您的客户带来不便并激怒一些人。
-
您可能需要找到其他一些唯一的 PC 标识符。我相信微软有他们设计的一种方法来确定 PC 的配置是否发生了变化,所以谷歌搜索可能会有所帮助。
-
许多 NIC 支持通过低级实用程序更改 MAC 地址。我有一张来自 SMC 的基于 RealTek 8139 的卡,它提供了这种能力。如果您修改了 MAC,那么它将成为卡的唯一 MAC 地址。
标签: c++ licensing mac-address license-key