GitHubで、TheFloW氏がPS Vitaの最新ファームウェア3.70に対応したJailbreakユーティリティTrinity v1.0をリリースしていました。
これがTheFloW氏がリリース予告していた3.69/3.70 VitaのJailbreakで、PSPタイトルを使うというものです。
タイトルには書きませんでしたが、いままでJailbreak(ハック)できなかった3.69と3.70に対応しています。3.68からアップデートしたくない方はh-encoreをそのまま使ってください。
Trinityは
PSPのMIPSカーネルexploitを実行し
PSPエミュレータを抜け
VitaネイティブのARMカーネルexploitを実行
という三段階ステップでトリニティです。
一応、事前にユーザーにどれがいいか投票してもらって、TheFloW氏がTrinityを気に入っていたこともあるようです。映画Matrixに出てくる役の名前ですね。
I‘ll definitely use a Matrix-referenced name, but can‘t decide which.
— Andy Nguyen (@theflow0) April 5, 2019
なので起動画面もMatrix風です。
Trinityが有効なのは3.69と3.70に限られます。Fatモデル(OLEDモデル)の場合には保存領域として必要なため専用メモリーカードが必要です。Slimモデル/Vita TVの場合には内蔵ストレージを使うためメモリーカードは不要です。また、PSPタイトルが必要なため、TrinityをインストールするVitaはPlayStation Storeにアクセスできるようにしてあることが前提です。
h-encoreと同様で、ちょっと手順が面倒です。
簡単に流れを説明すると、PSPゲームをPCにバックアップ、復号化してモディファイしたら再度暗号化してVitaに戻して起動、です。
[インストール前の準備]
準備が事前に出来ていればこの項目はスキップして[インストール方法]へ進んで下さい。
Vitaが3.69の場合
素直に3.70へアップデートするか、バージョン偽装を行います。
バージョン偽装については以下です。
1. 設定→ネットワーク→Wi-Fi設定を開く。インターネット接続していない場合はアクセスポイントを選択してまずインターネットに接続する。
2. アクセスポイントをタップし、詳細設定を選択する。
3. DNS設定を自動から手動に変更する。
4. プライマリーDNSに212.47.229.76
と入力する。セカンダリーDNSは空欄のままで良い。プロキシサーバーは 使用しない になっていることを確認し、OKを押す。
これでPlayStation Networkに接続できるので、PSNアカウントを持っていない方はまず登録し、Vitaを機器認証しておきます。
PlayStation StoreからPSP/minisのゲームをダウンロードします。Vitaのゲームや初代「プレイステーション」アーカイブスでは動作しません。
日本版の場合には『Ys SEVEN · イースVII』の体験版が推奨されています。購入した有料ゲームでも構いませんが、体験版で十分です。
昔ダウンロードしたためPSP/minisなのか分からない場合は、以下の手順で確認できます。
1. 一度ゲームを起動
2. ゲーム起動中にPSボタンを長押しするとクイックメニューが表示さる
3. 一番上の設定ボタンを押してバイリニアフィルタリングなどの設定ができる画面が出てこれば対象のPSP/minisゲーム
この設定が出てこない場合は、間違った対象外のゲームをダウンロードしていることになります。
[インストール方法]
1. qcmaとpsvimgtoolsをダウンロードする。
2. qcmaを起動し、設定でUse this version for updates
をFW 0.00 (Always up-to-date)
に変更し、システムソフトウェアチェック偽装を行う。
3. Vitaでコンテンツ管理を起動しqcmaを起動しているPCと接続する。”コンテンツをコピーする”の”PS Vita → パソコン”を選択し”アプリケーション” → “PSP/その他”を選ぶ。
4. Trinityに使うPSPゲームをクリックする。ここでシステムソフトウェアのエラーが出る場合にはVitaを再起動して解決しておく(それでも解決しない場合はVitaを機内モードにして再起動)。それでも解決しない場合はプライマリーDNSに212.47.229.76
と入力してアップデートをブロックしてみること。
5. ダウンロードしたゲームをPCにコピー転送する。コピーが完了すると
/Documents/PS Vita/PGAME/xxxxxxxxxxxxxxxx/YYYYZZZZZ
にコンテンツがコピーされる。xxxxxxxxxxxxxxxxはAID(アカウントID)でYYYYZZZZZはタイトルID。アイコンがあるYYYYZZZZZ/sce_sys/icon0.pngを開き、コピーしたものが該当ゲームであることを確認しておく。YYYYZZZZZフォルダには
game
license
sce_sys
の3つのフォルダが入っている。
このコピーしたゲームをモディファイするのでYYYYZZZZZフォルダごとどこかにコピーしてバックアップ保管しておくことをお勧めする。失敗してもバックアップコピーの上書きで元に戻すことができる。
6. ここにxxxxxxxxxxxxxxxx(AID、つまりフォルダ名)を入力すると、ゲームの暗号化/復号化に使うキーが生成される。
7. PCに転送したゲームをコマンドライン(Windowsの場合)やターミナル(Macの場合)などを起動する。カレントディレクトリ(今自分が見ているディレクトリ)はゲームデータのあるYYYYZZZZZフォルダにする。psvimgtoolsをまだインストールしていない場合はこのYYYYZZZZZフォルダにpsvimgtoolsをコピーする。
8. コマンドライン/ターミナルで以下を入力する。
psvimg-extract -K YOUR_KEY game/game.psvimg game_dec
YOUR_KEYの部分には、AIDから生成したゲームの暗号化/復号化に使うキーを入力する。
9. 完了すると、以下のように表示される。
creating file ux0:pspemu/temp/game/PSP/GAME/YYYYZZZZZ/EBOOT.PBP (x bytes)...
creating file ux0:pspemu/temp/game/PSP/GAME/YYYYZZZZZ/__sce_ebootpbp (x bytes)...
all done.
10. Trinityをダウンロードし、TrinityのPBOOT.PBPファイルをgame_dec/ux0_pspemu_temp_game_PSP_GAME_YYYYZZZZZ/PBOOT.PBP
にコピーする。フォルダ内には以下のファイルが存在することになる。
PBOOT.PBP
EBOOT.PBP
__sce_ebootpbp
VITA_PATH.txt
もし既にPBOOT.PBPが存在していた場合にはrinityのPBOOT.PBPで上書きする。
11. 今度は先ほどと同じ要領でゲームを再暗号化する。コマンドライン/ターミナルで以下を入力する。
psvimg-create -n game -K YOUR_KEY game_dec game
YOUR_KEYについても先ほど同様AIDから生成したゲームの暗号化/復号化に使うキーを入力する。
12. 完了すると、以下のように表示される。
adding files for ux0:pspemu/temp/game/PSP/GAME/YYYYZZZZZ
packing file ux0:pspemu/temp/game/PSP/GAME/YYYYZZZZZ/EBOOT.PBP (x bytes)...
packing file ux0:pspemu/temp/game/PSP/GAME/YYYYZZZZZ/PBOOT.PBP (x bytes)...
packing file ux0:pspemu/temp/game/PSP/GAME/YYYYZZZZZ/__sce_ebootpbp (x bytes)...
created game/game.psvimg (size: x, content size: x)
created game/game.psvmd
13. game_decフォルダを削除し、psvimgtoolsも削除する。qcma設定のデータベースをリフレッシュしておく。
14. モディファイして暗号化し直したゲームをVitaに戻す。Vitaでコンテンツ管理を起動し、PCと接続したら”コンテンツをコピーする”の”パソコン → “PS Vita” を選択し”アプリケーション” → “PSP/その他”を選ぶ。コピーが完了したらコンテンツ管理を終了する。
15. LiveAreaでは該当PSPゲームのアイコンが変わりTrinityという名称に変わる。場合によってはリカバリーモードでデータベースの再構築を行わなければならないこともある。うまくいかない場合には何かを間違っているのでもう一度最初からやり直す。
16. Wi-FiをONにしてからVitaを再起動し、起動後の最初にTrinityを実行します。他ごとをしてからTrinityを起動すると起動成功率が下がります。バックグラウンドでのダウンロードなどは行わないようにすること。
17. exploitが発動してTrinityメニューが表示されるまで待つ。
メニューには
Exit
Install HENkaku
Download VitaShell
Reset taiHEN config.txt
があるが、Download VitaShell → Install HENkaku → Exitの順で実行する。
これで今まではハック不可能だった3.69/3.70でHomebrewが実行できるので、ダウングレーダーmodoruを使って3.60のHENkakuや3.65/3.67/3.68のh-encoreが利用できるようになります。今ダウングレードしておかないとTrinityが今後起動できなくなる可能性があるとTheFloW氏は言っているため早めにダウングレードしておくようにして下さい。
書いてて思ったのですが、h-encoreよりも手順が面倒です。そう考えると3.60のHENkakuは優秀だと感じます。プレイしたいゲームの要求ファームウェアの関係があるとは思いますが、戻るなら3.60かな。
なお、本筋ではないですがTrinity exploit自体は実は3.65-3.70まで対応しているそうです。Matrix風のタイトルをTheFloW氏は気に入っているみたいで、Trinity起動前にLトリガーを押しっぱなしにするとずっとMatrix風画面が続く仕掛けを作ったことも明かしてます。