PS5向けの脱獄ツール「Relapse」が公開され、システムソフトウェア7.00〜13.60に対応する新たな手段が登場した。
開発者ntfargo氏らが公開したRelapseは、ブラウザーとカーネルに存在する脆弱性を組み合わせ、通常は制限されているプログラムを実行できる状態にするものだ。
これまでにもPS5向けの脱獄手段は存在していたが、別系統のツールでは対応範囲が12.00や12.40までに限られるものもある。Relapseでは比較的新しい13.60まで対応範囲が広がった。
ただし、14.00は対象に含まれていない。また、脱獄そのものに成功しても、自作ソフトや各種ツールがすべて正常に動作するとは限らない。
PS5向けにはNintendo Switchのソフトを動かすエミュレーターも開発されているが、実際に利用できる環境を整えるには、脱獄ツールだけでなく、その上で動かすソフト側の対応状況も確認する必要がある。
ブラウザーとカーネル、二つの脆弱性を組み合わせる
Relapseでは、ブラウザー側の脆弱性と、OSの中核であるカーネル側の脆弱性を組み合わせている。
開発者の説明によると、最初の段階ではWebKitに含まれるJavaScript実行エンジン「JavaScriptCore」の不具合を利用し、ブラウザー内で本来許可されていない処理を実行できる状態を作る。
ただし、ブラウザー内で任意のコードを実行できるようになっただけでは、PS5全体の制限を変更できるわけではない。
そこで次の段階として、カーネル側の脆弱性を利用する。
カーネルは、アプリケーションの権限やメモリー、ハードウェアなどを管理するOSの中核部分だ。
Relapseでは、メモリー管理に関する不具合や、複数の処理が同時に動く際に発生する競合状態などを利用し、最終的にカーネルメモリーを読み書きできる状態へ進む。
ブラウザー側とカーネル側では役割が異なる。
ブラウザーの脆弱性は最初の足掛かりとなり、カーネル側の脆弱性によってPS5のより深い部分へアクセスできるようになる。
Relapseはその後、ELF形式のプログラムを読み込める環境を用意する。これにより、自作ソフトや追加ツールを動かすための基盤が整う。
PS5には以前から、別の脆弱性を使った脱獄手段も存在する。
例えば、YouTubeアプリを利用するP2JB-Y2JBは、9.00〜12.40を対応範囲としている。
また、ps5-webkit-autoloader v0.5.1では、Poopsが7.00〜12.00、Relapseが7.00〜13.60向けとして組み込まれている。
つまりRelapseの新しさは、PS5を初めて脱獄可能にしたことではない。
従来より新しいシステムソフトウェアまで対応する公開手段が加わったことにある。
13.60に対応していても、すべての自作ソフトが動くわけではない
Relapseそのものは7.00〜13.60に対応しているが、その上で動かす追加ソフトまで同じ範囲で正常に利用できるとは限らない。
実際、ntfargo氏は9月29日付の変更履歴で、互換性上の問題を理由に、同梱していたkstuff、ShadowMountPlus、etaHENを削除している。
それらをコントローラーのR2ボタンから読み込む機能も同時に取り除かれた。
これはRelapse自体が利用できなくなったという意味ではない。
また、削除されたツールがあらゆる環境で動作しないことを示すものでもない。
重要なのは、カーネルの制限を突破できるかどうかと、その後に実行するプログラムが特定のファームウェアで正常に動作するかどうかは、別の問題だという点だ。
PS5で自作ソフトを動かすまでの構成を整理すると、次のようになる。
| 段階・ソフト | 主な役割 | 現時点での注意点 |
|---|---|---|
| Relapse | 7.00〜13.60でカーネルへアクセスし、ELF形式のプログラムを実行するための環境を作る | 複数回の試行が必要になる場合があり、本体が停止・異常終了する可能性もある |
| etaHENなど | 自作ソフトや各種機能を利用するための追加ツール | Relapseとは独立したソフトで、ファームウェアごとの互換性確認が必要 |
| ProsperoEden | Nintendo Switch向けソフトをPS5上で動かすエミュレーター | 初期のテスト版であり、停止するタイトルや十分な速度が出ないゲームもある |
これは、それぞれのソフトがPS5上で担う役割を整理したものだ。性能を比較した表ではない。
Relapseが13.60に対応しているからといって、etaHENやProsperoEdenなども13.60ですべて問題なく利用できるとは限らない。
脱獄環境と、その上で動かす自作ソフトには、それぞれ別の互換性条件がある。
また、Relapseの対応判定では、対応するシステムソフトウェアのバージョンが個別に定義されている。
そのため、「ほぼすべてのPS5で利用できる」といった大まかな表現よりも、手元のPS5がどのシステムソフトウェアを搭載しているかを確認する方が重要だ。
SwitchエミュレーターはVulkanを標準の描画方式に
PS5向けNintendo Switchエミュレーター「ProsperoEden」も開発が進んでいる。
9月30日に公開されたv1.000.020では、Vulkanが推奨かつ標準の描画方式になった。
ProsperoEdenは、開発者BlackBearReloaded氏によるEdenの非公式PS5移植版だ。
Relapseそのものにエミュレーター機能が組み込まれているわけではなく、脱獄したPS5で動かす独立した自作ソフトである。
Vulkanは、ゲームなどのアプリケーションがGPUへ描画処理を指示するためのAPIだ。
ProsperoEdenでは、PS5向けに開発されたMesa/RADV系のグラフィックスドライバーを利用し、EdenのVulkan描画処理をPS5上で動かしている。
従来のOpenGLも引き続き利用でき、設定から切り替えられる。
つまり、脱獄によって自作ソフトを実行できるようになった後にも、エミュレーターがPS5のGPUを適切に利用するためのソフトウェアが必要になる。
今回の更新は、そのグラフィックス処理がVulkan中心へ移ったものだ。
開発者は、映像、音声、コントローラー入力、セーブ機能などの動作を確認している。
一方、v1.000.020は引き続き開発初期のテスト版だ。
リリースノートには、ゲーム終了に数秒かかる場合があること、一部のゲームが読み込み画面で停止すること、高い処理能力を必要とするゲームでは十分な速度が出ないことなどが記載されている。
Vulkanが標準になったことと、Nintendo Switch向けのあらゆるゲームが快適に動作することは別の話だ。
今回の更新では、ゲームデータを保存する場所も変更できるようになった。
内蔵ストレージや外付けドライブなど、PS5からアクセスできるフォルダーをゲームデータの保存先として指定できる。
設定、ログ、カバー画像、セーブデータなどもアプリ本体とは別の場所へ保存するようになった。
これにより、ProsperoEden自体を更新しても、利用者の設定やセーブデータを維持しやすくなっている。
一方、暗号鍵やSwitchのファームウェア、ゲームデータなどは同梱されていない。
今後予定されている機能と、現在すでに利用できる機能を分けることも重要だ。
複数コントローラーへの対応、振動やモーション入力、ゲームごとのグラフィックス設定などは、開発者のロードマップで今後の対応項目として扱われている。
開発ペースは速いが、予定されている機能を現在の動作実績として扱うべきではない。
13.60にとどまるか、公式アップデートを適用するか
現時点で、システムソフトウェア14.00はRelapseの対応範囲に含まれていない。
そのため、13.60以下の環境を維持して自作ソフトを利用するか、最新のシステムソフトウェアへ更新するかという選択が生じる。
これは単に本体を更新するかどうかだけの問題ではない。
ソニー・インタラクティブエンタテインメントは、システムソフトウェアの公式案内で、一部のアプリケーションやコンテンツを利用するには本体のアップデートが必要になる場合があると説明している。
そのため、Relapseに対応する古いシステムソフトウェアを維持すると、将来のゲームやオンライン機能、アプリなどで最新バージョンを要求された場合に利用できない可能性がある。
ただし、必要とされるバージョンはゲームやサービスによって異なる。
Relapseが13.60に対応しているというだけで、最新のゲームやサービスをすべて利用できるとは判断できない。
ネットワークについても、利用する仕組みによって条件が異なる。
9月30日に公開されたps5-webkit-autoloader v0.5.1では、Relapseについて本体のネットワーク機能が有効であることを前提としつつ、インターネット接続そのものは必須ではないとしている。
一方、同じリリースでは7.00〜12.00向けのPoopsも再び利用できるようになり、こちらはネットワーク接続を必要としない構成も選べる。
つまり、対応するファームウェアが同じでも、利用する脱獄手段によって必要な環境は異なる。
対応範囲の広さより、安定して動くかが次の焦点
Relapseの7.00〜13.60という対応範囲は、PS5の自作ソフト開発にとって大きな変化だ。
しかし、対応していることと、日常的に安定して利用できることは同じではない。
Relapseの開発者自身も、ブラウザー側で複数回の試行が必要になる場合や、カーネル側の処理によって本体が停止・異常終了する可能性を明記している。
実際、公開直後の利用者からも、対応バージョンで停止やクラッシュが発生したという報告が出ている。
研究者や自作ソフトの開発者にとって、これまで届かなかった13.x系まで利用できるようになった意味は大きい。
一方、普段使いするゲーム機として見れば、単に対応ファームウェアが増えただけでは十分ではない。
今後重要になるのは、同じファームウェア上で追加ツールを安定して実行できるか、自作ソフトやエミュレーターが実機で安定して動くか、さらにゲームごとの互換性や性能がどこまで改善するかだ。
RelapseによってPS5で自作ソフトを実行できる環境は広がった。
次の焦点は、その環境を利用するetaHENやProsperoEdenなどのソフトが、13.x系を含む幅広いPS5でどこまで安定して利用できるようになるかに移っている。



