事关 Apple ID 生死存亡的 SMBIOS 组态设定

事关 Apple ID 生死存亡的 SMBIOS 组态设定

SMBIOS 组态设定是 Clover 用以让 macOS 及其安装程式「认为你当前的电脑是 Mac」所必须使用的资料。Clover 可能会在你尚未填写相关资料时自动在每次开机时计算,但往往也会导致一些随机故障(通常是因为其开机时自动计算的内容并不符合实际需求)。鉴于有太多人认为这个「随便设一个就好」,我会在本文当中强调其中的一些利害。

本文以 Clover Configurator 为例、讲解一台 macOS 兼容机的 SMBIOS 初始配置是如何完成的。至于 Chameleon(包括 Chimera),请不要用,毕竟已经是过时的东西、且在瞒天过海这方面做得其实不如 Clover。

请在顺手将 Clover 升级到最近版本的同时、用最新版本的 Clover Configurator 开启你的 config.plist 组态设定档案、并定位到 SMBIOS 画面。

问:我这里都是乱填的,不要紧吧?

答:要紧。每一个真实 Mac 机种的 SMBIOS 组态设定都有特定的主机板序号种类。这是在每一台 Mac 出厂之前就完成的内容,且是 macOS 判断机种并匹配内建驱动时的重要依据;而每一台被 Apple 售出的正品 Mac 电脑(包括 Apple 零售店的展示机)都还会有一组产品序号(Serial Number)、用来辨识每一件商品。至于 SmUUID 则是你整个硬体系统的唯一码。你的正品 Mac 可能遇到需要更换主机板的情况,在被 Apple 这样服务过之后会给你的产品序号搭配一组全新的硬体系统唯一码(SmUUID)及全新的主机板编号(Logic Board Serial Number, MLB)。主机板编号、产品序号、机种类型(比如「iMac 17,1」)这三者彼此搭配失败的话,会使得 macOS 工作异常、甚至拒绝用户进入系统;而主机板编号、产品序号、硬体系统唯一码这三者搭配失败的话,会让 Apple 记下黑记录(这些数据会与你当前的公网 IP 搭配起来计入 Apple 的资料库,当然包括你尝试登入 iCloud / iMessage 服务的、通过密码正确性验证的 Apple ID…甚至你借由 macOS 兼容机使用 Mac App Store / iTunes Store 购买商品时的信用卡资讯所带来的个人身份验证资讯)。这些黑纪录如果积攒很多的话(典型情况就是:整个机种的主机板编号、产品序号、硬体系统唯一码都没在 Config.plist 当中明确定义、导致每次都被 Clover 随机生成、或长期滥用同一组早就被 Apple 黑名单的预设值,让 Apple 以为你在同一个公网 IP 或/和同一个 Apple ID 下登入了过多不在 Apple 白名单内的 Mac 设备),Apple 会在不确定的某个时刻不经告示就直接不允许你的 Apple ID 使用特定的服务(比如「必须以给定的问题服务编号连络 Apple 客户服务来协商解决 iMessage 问题」等情况)、甚至随时彻底停权(后果同下文所述)。

问:我直接拿正品 Mac 产品的主机板编号(Logic Board Serial Number, MLB)、产品序号(Serial Number)、硬体系统唯一码(SmUUID)来用,可以吗?

答:这是一个害人害己的选择。在 Apple 来看,这是对 Mac 产品的 macOS 系统安装权的窃取。Apple 正式卖出的 Mac 产品的 SMBIOS 资讯会被 Apple 更加严格地留意:一旦被用于非 Mac 产品(也就是用于 macOS 兼容机)、且用来登入其他的 Apple ID,则该 ID 会被 Apple 直接永久停权(不是立即停权,但比 Steam VAC 作弊停权更惨…所有购买的内容与云服务内容全部与你告别)、是为害己;且相关的正品 Mac 电脑也丧失了正常使用 iCloud 相关服务的权利、是为害人。这些都有很多先例,只是很少有人主动去调查而已(尤其是后者,哪怕你出具原始购买证明,也会在绝大多数情况下被 Apple 吃闭门羹)。

问:那究竟该怎么办?

答:macOS 兼容机的 SMBIOS 需要经过特定的方式生成(本文会提及)、且必须在 SmUUID 和产品序号这两方面保持全球独一性(不要分享出去跟别人共用…特别是你准备分享你的 Clover 资料夹的时候、注意你的 config.plist 当中的相关资讯)。此外就是我的不建议了:我不建议藉由 macOS 兼容机使用一切 Apple 线上服务(干脆在 Hosts 当中屏蔽所有与 Apple 相关的域名,所有与系统有关的更新全部离线完成)。至于你要不要用别人提供的很多来自于 Mac App Store 的应用的破解版本,那是你的事情。我只建议藉由 macOS 兼容机使用那些在应用授权方面不依赖于 Apple ID 服务的产品(于是,诸如 iLok 等 USB 钥匙就派上了用场)。

只要你想顺顺当当地使用与 Apple ID 有关的线上服务、而了无后院起火之忧,你就得有一台真正的 Mac 产品、且其相关的主机板编号、产品序号、硬体系统唯一码都没被泄露公开(建议你无论如何都将自己的真正的 Mac 产品登记到你的 Apple Support Profile 内)。

问:那如何正确地为 macOS 兼容机生成正确的 SMBIOS 资讯?

答:Clover Configurator 的 SMBIOS 设定画面的右侧会有一个绘有魔术棒图样的按钮,点进去、点选与你主机板或电脑相容的电脑类型(是 iMac 还是 MacBook Pro 还是 Mac mini 还是 MacBook Air 还是 MacBook 还是 Mac Pro)、再在接下来的画面左上角的下拉选单当中选取相容的机种编号(比如「iMac 17,1」)。接下来你需要找到画面右侧就单元编号与生产所在周这两项右侧各自的「Shake」按钮、藉由这些按钮来生成不同的产品序号。这时不要急着关闭画面,请到「checkcoverage.apple.com」这个网站检查该产品序号是否可以查到保固纪录…如果能查到结果的话,请重新生成序号(因为与 Apple 已经售出的产品的序号重叠了);如果被告知「查无产品」,那就证明迄今为止是安全的(但还可能会与 Apple 未来售出的某一件商品互相重叠,所以我优先建议使用被 Apple 官方停售的产品的机种编号)。之后请确认,回到 SMBIOS 设定主画面,拷贝当前的产品序号并贴入「Board Serial Number」一列、且在该列之后填入五位数(可以将其中的一部份替换成「ABCDEF」当中的任意字母,但总计还是五个字元)。最后藉由 Terminal 执行 UUIDGen 生成一组随机 UUID 并填入 SmUUID 输入区内。另:如果今后更改了相容机种编号的话,整套 SMBIOS 资讯均需全部重新生成。

这不会让你顺顺当当地使用与 Apple ID 有关的线上服务、而了无后院起火之忧(毕竟 Apple 出于通讯安全方面的考量而启用白名单也是无奈之举),却能让你的这台 macOS 兼容机保持主机板编号、产品序号、硬体系统唯一码的三码独立、而少掉很多风险。

问:全篇都是危言耸听,我为什么要听你在这里唬烂?

答:你开心就好。

# EOF.

编辑于 2016-12-02

文章被以下专栏收录

    敝专栏主要为那些无法被 Apple 产品满足需求的用户陈列一些与「自行组建 mac 兼容机」有关的文章、方便其中自力更生者解决各自遇到的问题。 这不是一门对好吃懒做而言非常友好的学问,你在金钱方面所省下来的、必定会占去你等价的时间来用以钻研相关的技术(借此解决各自的所遇到问题)。 敝专栏内容不得用于商业营利用途、不提倡无断转载。同时该专栏没有稿费、作者们也不会有「对自己文章的技术内容导致的任何对他人的损失做担保」的法律义务。