2020年11月13日

Nintendo Switch 大气层、 SX OS、SX CORE(改机芯片)原理初探与合法性研讨

 

写在前面

 

使用破解固件(Homebrew),如本文所述的大气层、SX OS等,是用户个人的选择,需自行承担一切风险与责任。如无特殊需求,建议使用原版系统。

若您出于极客精神或实际需要,希望使用自制固件,建议您在开始之前阅读以下内容再做出最后决定。

本篇内容不涉及系统制作与安装相关内容,仅作原理介绍。

 

有关合法性

 

简要结论:使用破解固件合情且可能合法,运行盗版软件绝对非法

就情理而言,消费者对所购买的硬件及附属操作系统应当享有充分、完全的使用权利。任天堂强制绑定系统硬件与固件,藉此限制了硬件功能的发挥,且持续使用技术手段进行遥测,用户个人进行系统提权(即使用破解固件)有一定依据。这与苹果手机越狱、安卓手机解锁BL等操作类似。

在部分欧美国家的法律情境中(如美国),对操作系统进行修改、自定义甚至逆向工程(如制作游戏模拟器)均是经过法律实践检验的合法行为;而在中国,相关的法律实例很少,可以视为事实上的灰色地带。因此可以粗浅的认定:在当前中国的法律情景下,个人使用自制固件大概率无需承担法律责任。

然而,根据订立的《最终用户协议》,平台运营企业(任天堂)有充分理由与权利禁止向运行自定义固件的设备提供增值服务,包括售后以及联网(俗称ban机)等。

使用、破解或修改游戏软件是绝对侵犯著作权法的行为。运行盗版软件、使用非官方许可的MOD、侵入联机软件及服务器(如联机时使用作弊代码)均有可能被著作权方追究法律责任。在中国,考虑到著作权侵权的告诉原则,一般只有传播或盈利才会被追究法律责任。

另需注意,基于自制固件与软件盗版之间存在千丝万缕的联系,以商业目的提供自制固件的安装与销售服务将难以逃脱法律责任。目前,腾讯已在浙江及广东提起对销售改机芯片商家的诉讼,并已经锁定证据。

 

原理

 

大气层 Atmosphere

 

大气层(Atmosphere)系统利用的漏洞名为Fusee-Gelee,技术细节可参见:https://gitee.com/wandering_snow/fusee_gelee_explained_in_chinese

下面做一个简短的介绍。为使文字更加通俗易懂,此处省略了大部分技术细节:

一般而言,当我们启动Switch主机时,主机会首先找寻Bootloader,即引导文件。在完成签名校验后,主机会加载到Bootloader,进而启动系统。

在对Switch软件的研究中,开发者们发现了潜藏的RCM恢复模式。这一模式用于系统崩溃时的介入诊断与刷写,只需短接右手柄导轨中的两个触点,同时按下音量“+”和开机键,即可进入。在该模式下,主机会通过USB连接读取一段代码,也就是所谓的Payload。Payload中包含高级别的调度指令,能介入系统底层进行操作。

 

RCM夹具

一般而言,Payload文件会自带签名,只有签名验证通过,系统才会加载Payload。此时,系统的其它安全措施还未启用,签名验证环节是唯一的安全措施。

然而,Switch的USB传输环节存在一个严重的bug,对Payload中部分环节的代码处理不当。开发者通过注入特定的代码触发这一漏洞,能够绕过签名校验,直接加载Payload。

这里再做一个形象化的说明:

让我们把Switch的操作系统比作海拉鲁城堡。想要进入城堡,必须持通行证(合法的签名)通过关卡;不巧,负责守关核查通行证件的,正是我们武艺高强、所向披靡的林克。加农想要攻入城堡,第一步就得解决林克这个心头大患。

 

 

 

按照平常城堡的安全机制,想要潜入城堡是不太可能的。但如果遇到战争,城堡会进入到战时状态(主机的RCM恢复模式)

盖侬先指挥大军佯攻城堡,使城堡防卫进入战时状态(短接)。与此此时,盖侬亲自带着一队人马,佯装成前来换防的援军(准备注入的Payload)到达正门。

正当林克准备查验来者的证件时,盖侬一个剑劈斩向林克(注入溢出代码)。林克准备使用无敌盾反反弹攻击之时,却被强大的电流击垮在了地上。原来,阴险的盖侬换了一把电剑,林克所持的金属盾难以招架,触电倒地(成功触发漏洞)

 

“botw link electricity”的图片搜索结果

 

由于战时状态下的城堡关闭了剩余的核验关卡与防护措施,盖侬的人马得以长驱直入,占领城堡(启动自定义固件)

遗憾的是,为了防止Payload校验机制被篡改,所有的代码都在主机出厂时就已写死——熔断保险丝,物理限制再次写入。这也意味着,任天堂和英伟达完全没有在现有设备中修复漏洞的可能。

在漏洞公开后,任天堂修改了新出厂主机中的USB传输模式,从源头上封锁了这一漏洞。

 

改机芯片 SX Core

 

正当任天堂自恃主机已经金汤固若时,历来以商业化破解各家主机著称的Team Xecuter团队再次重重的打了老任的脸。2020年6月起,SX Core改机芯片正式发售。

 

 

通过在主机核心元器件上物理焊接改机芯片,SX Core得以夺取了系统的最终控制权。但由于SX Core芯片并非开源,即便是在TX团队核心成员被捕、官网下线之后,芯片的技术细节始终未被公开,任天堂也始终未能封锁漏洞。

当前主流的猜想为,SX Core会通过主控芯片向主机内部的存储芯片写入篡改过的Bootloader,并通过某种方式欺骗系统签名验证。

依旧借用上面海拉鲁城堡的例子,这就相当于加农通过乔装打扮、打通内部环节、伪造通关文书,直接从林克眼皮底下侵入了海拉鲁城堡。

另一种说法是,SX Core会通过写入CPU中断表来使主机进入RCM模式,进而进一步欺骗引导。无论哪种说法是正确的(也或许均有错误),SX Core破解系统的方式都无疑是非常“硬核”的,以至于大气层系统的核心开发者SciresM都公开表示,新版Switch的“软破”可能永远都不会出现。

在任天堂法律团队重拳出击之后,SX Core的出货及经销渠道被尽数封锁,芯片的价格也随之水涨船高。当然,随着芯片制造商生产环节的转移(据称正筹划转移到越南),Switch改机芯片的供应不会永久中断。只要畸形的盗版市场一直存在,破解就不会停止。

 

极客与黑客

 

最后,让我们把目光转向大气层系统的开发团队ReSwitched与SX Core改机芯片的开发团队Team Xecuter。当TX被任天堂重拳出击时,ReSwitched却始终在不断更新着大气层系统的版本,丝毫不受影响。这是为什么呢?

TX团队最大的问题在于商业化。为了达到销售芯片和自制固件的目的,他们不择手段——丝毫不避讳软件盗版。他们解除了系统内部的DRM验证,甚至开发出.xci格式的卡带模拟文件,帮助盗版软件迅速运行、快速传播。这也最终成为了把他们绳之以法、送上法庭的关键罪证。

然而,大气层系统的开发团队则极力回避侵权问题。当团队发现漏洞时,他们并没有将其雪藏,用于开发定制软件谋取利润,而是将其写成漏洞报告公开在互联网上,供包括任天堂在内的全体开发者阅读。虽然漏洞本身让任天堂蒙受了商业损失,但及时详尽的漏洞报告也帮助了任天堂及时止损。

同时,在原版的大气层系统中,ReSwitched团队并没有篡改DRM校验程序——只有打了第三方提供的补丁,大气层系统才能运行盗版软件。为了避免载入盗版软件,大气层系统也不内置软件安装功能——只有安装了第三方开发的自制软件(Homebrew),才能安装来自eShop或者卡带的游戏文件。这种可贵的中立,便是极客精神的核心内涵。

ReSwitched代表的极客是法律边缘的舞者,而TX代表的黑客则是违法侵权的行家。在“技术无罪”理念的支撑下,无数软件开发者投入到对既有商业化软硬件的深层研究中,客观上也留存了互联网可贵的开放精神。

You may also like...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注