千万不要硬编码 SMBIOS 机器 UUID

2019-01-19 11:58:04 +08:00
 imbushuo

故事是这样的:我去年无聊搞了 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 了……

附言:

3580 次点击
所在节点    分享发现
4 条回复
univert
2019-01-19 12:32:53 +08:00
每个机器应该有不一样的 smbios uuid, 能自己做 ueifi 的本来就很少的,
imbushuo
2019-01-19 12:36:30 +08:00
@univert 对,正常情况下生产线上就生成出来放进去了,但是不排除那些寨板会有鬼故事
jjxtrotter
2019-01-19 16:53:22 +08:00
hmmm...
考虑到 lumia950xl 的销量,影响程度有限...
zea
2019-01-20 12:03:31 +08:00
@jjxtrotter 最佳回复 手动 doge

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/528534

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX