【发布时间】:2013-02-11 08:44:45
【问题描述】:
如何在没有 wmi 的情况下在 C 或 asm 中获取硬盘序列号(不是每次重新安装 Windows 时更改的卷号)(因为 wmi 需要管理员权限)。任何线索都会有帮助,因为现在我在没有 wmi 的情况下在 C 的 web 上没有发现任何东西,在几天的搜索中......谢谢。 编辑:对于windows系统
【问题讨论】:
-
我认为序列号很可能被认为是机密信息,所以没有管理员权限是无法获取的。
-
如果没有特权指令,您很可能无法做到这一点。
-
@Harry : 由于这个原因,serial# 不再在 cpu 上,所以这就是为什么现在有一个变量,但硬盘驱动器也......?无论如何,即使 mac add 可以是假的,它仍然是一种可靠的识别计算机的方式,因此是非机密的。感谢不确定的信息:至少它的信息。 @Daniel:好的,谢谢
-
在 Windows 中,您必须使用
DeviceIoControl并使用 ATA 直通驱动器发出 IDENTIFY 命令。您需要管理员级别的访问权限 -
因为 wmi 需要管理员权限 - 你确定吗?你试过了吗?从非管理员帐户执行
wmic diskdrive get name, serialnumber对我来说是正确的。以编程方式,您要查找的内容类似于 this,但打开这样的物理磁盘几乎肯定需要管理员权限。
标签: c windows assembly hardware-id