Cross Post: 千万不要硬编码 SMBIOS 机器 UUID

imbushuo

Please mind the gap

14人赞了该文章

故事是这样的:我去年无聊搞了 Lumia950XLPkg,之前我也展示过启动 Debian 了。当时弄的时候并没有预计到这个玩意会发布,于是为了快速开发,我在 SMBIOS 里硬编码了一个机器的 UUID:

SMBIOS\_TABLE\_TYPE1 mSysInfoType1 = {
  { EFI\_SMBIOS\_TYPE\_SYSTEM\_INFORMATION, sizeof (SMBIOS\_TABLE\_TYPE1), 0 },
  1,    // Manufacturer String
  2,    // ProductName String
  3,    // Version String
  4,    // SerialNumber String
  { 0x0bc52bb9, 0x9473, 0x4875, { 0xbe, 0x2a, 0x39, 0x73, 0x07, 0x6c, 0x20, 0xe2 } },
  SystemWakeupTypePowerSwitch,
  5,    // SKUNumber String
  6,    // Family String
};

https://github.com/imbushuo/Lumia950XLPkg/blob/9bc2d337cdf0d1417bc0598791c912a5b985daf4/Driver/SmBiosTableDxe/SmBiosTableDxe.c#L151现在奇葩的事情出现了,有用户在 LumiaWOA 的群里说:

用户告诉我 "Activated using Digital License"。所以现在这件事情变成了 Windows 10 加入的方便用户重装的功能被相当程度的自动滥用了:

造成的结果就是,连上网就自动激活。笑死我了,我觉得我下个版本得修掉这个问题 (facepalm)。是不是有人用 Retail/MAK Key 激活过 Windows 10 on Lumia 950/950 XL 了……

附言:

Also posted @ 千万不要硬编码 SMBIOS 机器 UUID - V2EX

发布于2019-01-19 04:20
编辑于2019-01-19 04:20

文章被以下专栏收录