GBATempで、Team Xecuterが開発しているFusée Geléeと同じNVIDIA Tegraの脆弱性を利用したNintendo Switchハック製品Xecuter SXで使用するOS(カスタムファームウェア)SX OS v3.0.0が正式リリース前に流出したことを伝えていました。
流出はTeam Xecuterのサイトらしいので公式フォーラムだと思われますが、現在はダウンロードリンクは編集して削除されているようです。
hexkyz氏が早速流出版SX OS v3.0.0をアンパック・復号化するスクリプトを公開しています。
Scripts for the leaked SXOS v3.0.0 (SHA-256 of 54ce0f58cac9643559991b0b86252424c1bbc59c5c77496110d999814a4a7d52):https://t.co/BF64ARy2eRhttps://t.co/aIoBrBO4aG
— Mike Heskin (@hexkyz) May 30, 2020
基本的に流出したSX OS v3.0.0はTeam XecuterのMODチップであるSX Core/SX Liteのテスター向けに特化しているといっても過言ではないので、仮にSX OSの正式ライセンスを持つ一般ユーザーが手に入れても特にメリットはありません。
公式フォーラムを見る限り、SX Core/SX LiteのテスターはSX OS 3.0を入手できるようになっており、SX OS 3.0.1でのバグ報告もあることから現在SX Core/SX Liteユーザーとのやりとりの中でバグ修正のアップデートも行われているようです。
一方でこの流出のおかげでSX Core/SX Liteの起動のプロセスが判明しました。
hexkyz氏によると、SX OS v3.0.0はMariko基板とSX Core/SX Liteのサポートのためのもので、新機能実装等は存在しないようです。
変更点のほとんどはDRMに関するもので、ブートローダにはSX Core/SX Liteと通信するためのコードが含まれ、SX Core/SX Liteのファームウェアを1.0から1.1へアップデートを行いますが、そのファームウェアはブートローダ内に暗号化された状態で保管されています。アプリケーションは最新のAtmosphereとlibnxで再コンパイルされています。
SX Core/SX LiteはブートローダをeMMCのboot0パーティションに書き込みますが、Mariko BEK (Boot Encryption Key)という暗号鍵で暗号化され、その上でTeam Xecuter独自の鍵で署名された形で保管されています。Team Xecuterが独自の署名でプロテクトをかけていることになります。Switch起動時に公式のブートローダではなくSX Core/SX Liteのブートローダが実行されるというのがMODチップによる起動の仕組みです。
SX Core/SX LiteにはTeam Xecuterがプロテクトをかけているので、サードパーティがMarikoのキーをSX Core/SX Liteを利用して入手しようとしてもできないようになっています。
オープンソースのAtmosphereとlibnxを利用するだけしておいて、他にヤツらにはうまい汁吸わせないと言わんばかりの利益囲い込み作戦と、任天堂から法的措置をちらつかされてもひるむことなく我が道を行く様は見事な悪役ぶりです。
[追記]
SciresM氏が流出したSX OS v3.0.0を解析して入手したと思われるMariko基板の暗号鍵を公開していました。(さめさん情報ありがとね)
BEKが、漏れているけど、漏れていない状態にしてくれてるのかしらん。
明らかに漏れたとなると、またBEKを更新してくると思うので。。
よくわからん