imbushuo

千万不要硬编码 SMBIOS 机器 UUID

  •  
  •   imbushuo · Jan 19, 2019 · 4324 views
    This topic created in 2699 days ago, the information mentioned may be changed or developed.

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

    Activation.jpg

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

    • 这些机器拥有相同特征的 CPU
    • 这些机器有完全一致的 ACPI DSDT/SSDT 设备列表和描述
    • 这些机器有几乎完全一致的 SMBIOS (我还是稍微更新了一个东西的)
    • 这些机器也有完全一致的 SMBIOS 机器 UUID

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

    附言:

    • 不知道有没有 PC OEM 这么干。要是有的话就很刺激了
    • 当年 Ghost XP 的时候好像有个类似的问题,不过是遥测上的,间接导致了 Windows 错误报告原本的作用大减
    • 所有 Windows Phone 的 stock UEFI 都有类似的固定 SMBIOS GUID
    • Device & Experience (OSG/WDG) 的人,你们就没觉得出现了同样特征的机器在全世界各地激活这样的事情很奇怪吗,遥测应该能发现的吧(
    4 replies    2019-01-20 12:03:31 +08:00
    univert
        1
    univert  
       Jan 19, 2019
    每个机器应该有不一样的 smbios uuid, 能自己做 ueifi 的本来就很少的,
    imbushuo
        2
    imbushuo  
    OP
       Jan 19, 2019 via iPhone
    @univert 对,正常情况下生产线上就生成出来放进去了,但是不排除那些寨板会有鬼故事
    jjxtrotter
        3
    jjxtrotter  
       Jan 19, 2019 via iPhone
    hmmm...
    考虑到 lumia950xl 的销量,影响程度有限...
    zea
        4
    zea  
       Jan 20, 2019 via Android
    @jjxtrotter 最佳回复 手动 doge
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5695 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 06:23 · PVG 14:23 · LAX 23:23 · JFK 02:23
    ♥ Do have faith in what you're doing.