【问题标题】:Generating a unique Windows OS ID [duplicate]生成唯一的 Windows 操作系统 ID [重复]
【发布时间】:2016-04-13 23:43:42
【问题描述】:

不添加WMIC的依赖,获取MAC。

我知道我们可以在注册表项中读取 MachineGuid:

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography

除非用户格式化 PC,否则它不会改变。但问题是,如果硬盘被克隆,它很容易被绕过。

我遇到了 https://msdn.microsoft.com/en-us/library/windows/desktop/ms724423%28v=vs.85%29.aspx

返回的信息是否
GetSystemInfo ()

操作系统安装后保持不变,避免克隆问题。

【问题讨论】:

  • 行业标准是使用MAC。有些人抱怨这可以被覆盖,但这是一个功能,而不是错误 - 如果有必要,系统管理员必须能够覆盖许可,否则你就是邪恶的你自己的客户,从长远来看,它们总是会回来咬你。请注意,您不需要使用 WMIC 来获取 MAC,还有其他 API 可用。
  • 同意Harry,使用MAC地址是要走的路。如果你拒绝这样做,你将不得不结合多条信息,并希望如果你选择了足够多不同的信息,你最终会得到一些独特的东西。提出了为什么你认为你需要这样做的问题。

标签: c++ windows winapi


【解决方案1】:

不,GetSystemInfo() 也不是唯一的。
它填充了一个SYSTEMINFO,其中包含有关 CPU 的大部分数据,以及一些其他非唯一字段。

一些真正唯一的 ID 也保持不变
在一个 Windows 实例上,就像您正在搜索的那样,不存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 2011-05-20
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多