Rejuvenate ― PS VitaのネイティブHomebrew環境が始動秒読みに!
カテゴリ: PS Vita, PSMobile, Rejuvenate
投稿日時: 2015年6月15日 2:43 PM
Yifan Luさんは、PS Vitaでnative homebrewを開発・実行するためのプラットホーム "Rejuvenate" を月末にリリースすることを発表しました。これは数週間前に協力者が募られ、開発が進められていたものです。
これにより作成された非公式ソフトウェアは、PlayStation Mobile Development Assistantを介してSonyの認証なしにPS Vita上で実行できます。
今月末にはRejuvenateのパブリックベータ版が公開される予定です。PSMが終了した後も、Rejuvenateに含まれる "PSM+" というツールによりhomebrewの開発や実行が続けられます。
Yifan Lu | Rejuvenate: Native homebrew for PSVita (以下、翻訳)
(悲しいことに、Sonyは私にE3で発表する機会を与えてくれなかったので、このブログで告知することにします。) PS Vita向けネイティブHomebrewプラットフォームであるRejuvenateを発表できることを非常にうれしく思います。このツールは2週間後にリリースされ、(Sonyと接触していない)開発者の皆さんはPS Vitaでゲームやアプリなどを開発し、テストすることができます。これらの非公式ソフトウェアはSonyの承認なしに、すべてのPS Vitaで実行できます。このツールでは海賊版ゲームの起動やゲームのバックアップはできません(使用されるexploitがこれらを実行するのに十分な権限を持っていないからです)。RejuvenateはPlayStation Mobile Development AssistantがPS Vitaにインストールされている必要があります。SonyはまもなくPSNでの配信を停止するため、もしhomebrewをPS Vita上で実行したいなら、今すぐダウンロードしてください。
私がPS Vitaの最初のnative exploitを発見してからほぼ3年になります。なぜツールを一般公開しないのかと尋ねてくる人は大勢いました。面倒だからという理由のほかに、主に2つの理由がありました。1つ目は、PSMがインディーにとってとてもいいプラットフォームだと確信していたことで、PS3のOtherOSのようにPSMを潰してしまうのを恐れていたからです。2つ目は、PS Vitaのhomebrewを開発するSDKが存在しなかったため、exploitをリリースしても役に立たず、だれの得にもならないと考えたからです。しかし今、SonyはPSMを終了させようとしており、SDKの開発もとても進んだため、これをリリースするのにふさわしい時期が来たようです。
Rejuvenate
Rejuvenateは3つの主要ツールで構成されており、これらを合わせて開発者がVita homebrewを作成するプラットフォームを提供します。
- UVLoader 1.0 ― PS Vitaで実行ファイルをロードできるようにします。オリジナルバージョンは3年前にFW1.80向けに作成しました。そのときから、Sonyはこのソースコードを見て、コードの実行がとても、とても難しくなるよう対策しました。しかし、これは回避可能です。最新のバージョンではSCE ELF relocations, NID poison antidoteなどをサポートしています。このツールにより(現時点で)FW3.51までのPS Vitaでhomebrewを実行できます。
- VitaDefiler ― PS Vita向けのRPC(リモートプロシージャコール)システムです。主な機能には、ユーザースペースメモリーのlive peek/pokeや、任意のARMコードの実行、素早いタスク実行のためのスクリプトインターフェイスが含まれます。もともとはexploitの探索用に開発されたもので、このツールは開発者がアプリのテストやデバッグにも使用できます。VitaDefilerはまた、UVLoaderのためにASLR (address-space-layout-randomization, Sonyのexploit弱体化技術)を回避するのにもつかわれます。
- PSM+ ― Sonyがまさにこのシナリオを防止するためにPSMに搭載した2つのキルスイッチを回避する機能に私がつけた名前です。まず、まず、Sonyにより配信されるアプリ鍵は開発者がexploitを実行するのにPSMコンテンツの署名を必要にしました。この鍵は通常3ヶ月ごとに期限が切れ、Sonyは再度配布することを拒否できます。このツールはこれを回避できます。さらに、PSMは毎日、期限切れの確認を取ります。もしSonyがDev Assistantを使用不可にすれば(彼らはそうするでしょう)、今までインストールしたものが動かなくなってしまいますが、これも回避可能な案件です。
これらのツールと、(現在開発中の)オープンソースSDKによって、開発者はPS Vita向けのhomebrewを開発することができます。 上記のデモ動画はUVLoaderがVitaDefiler(ASLRバイパスの情報を供給します)のスクリプトとして動作していることを示しています。スピンキューブのデモは私が書き、手動で紐づけたもの(SDKがまだ完成していないため)で、UVLoaderとともに公開されます。GPU APIコールに直接アクセスし、ネイティブに動作しています(PSMサンドボックスの内部で動作しているのではありません)。
制約
では、問題点はあるでしょうか?良いニュースは、高くて知らないゲームを買う必要はないということです(すべて無料です!)。悪いニュースは、homebrewを実行するのは、ファイルのコピーのようには簡単にいかないということです。うまくいけば、この制約はのちのリリースで回避されるでしょうが、現時点では以下に従う必要があります。
- Homebrewを起動するたびに、USB接続が必要です。exploitの実行には不幸にもPCが必要です。これは、VitaTVがサポートされないということでもあります。
- Windows PCが必要です。PSMツールをほかのOSに移植しないSonyを恨んでください。
- Homebrewを実行しようと思った日に一度だけネットワーク接続が必要です。PSMが毎日連絡を入れないといけないためです。アプリ鍵の期限切れの確認は回避する手段がありますが、通信そのものを回避することは現時点でできません。
- FW3.00以上が推奨されています。技術的にはexploitはFW1.69以上で動作しますが、最新のツール群はFW3.00以上でしかテストされていません(これからもFW3.00未満はサポートされないでしょう)もし興味が十分にあればより低いバージョンのファームウェアにも移植できるでしょうが、優先度は非常に低いです。
FAQ
上記の制約が面倒なのですが、やっぱりPSM Developer Assistantをダウンロードしなくてはならないのですか?
はい、ゆくゆくはHomebrewを起動したいなら、ダウンロードしなくてはなりません。PSM Developer Assistantはメモリー内の任意のコードを実行するのに必要な権限を持つ唯一のアプリケーションです。WebKit exploitにはこのような権限はありません。どのgame exploitにもこの権限はありません。システムアプリにもありません。PSM Developer Assistantは、誰もその鉄壁を崩せないカーネル(OS)を除き、コードの実行が許可されているたったひとつのアプリケーションなのです。言い換えれば、誰かがkernel exploitを見つけるのを期待する前に、少なくとも1ダースはあるPSM Developer Assistantのexploit(それぞれ利用するのは難しくない)に期待せよ、ということです。
VitaやPSP、PS1のバックアップ/ISO/コピーを実行できますか?
できません。
アンチ海賊版のスタンスから行き過ぎた行為は阻止してください。
公式ソフトウェアやゲームの複合/ダンプ/実行ができない仕様は、私が偶然そうしようと思ったようなことではありません(しかし、このことはうれしく思っています)。使用されるexploitはそのようなことができる権限を与えることが物理的にできません。Sonyはセキュリティの深さについて非常に良い仕事をしました。どのアプリケーションも必要以上の権限は持っていません。PSM DevAssistantは公式にも複合/ダンプ/実行または署名されたゲームの実行に使われるようなものではなく、よってexploitを利用したからと言ってそのようなことはできません。
将来どんなhomebrewに出会えるでしょうか?PSP homebrewよりも良いものですか?
それはどのくらいのデベロッパーがPS Vita用にコードを描くのに時間を割くかによります。私もあなたのように楽しみにしています。純粋な統計からいえば、PSP-3000は64MBの共有メモリに333MHzのCPU、そして166MHzのGPUを搭載しています。Vitaは512MBのメインメモリーに、128MBのビデオ専用メモリがあります。1GHz以下程度で動作する4コアCPUと、200MHz以下程度で動作する4コアGPUを搭載しています。付け加えれば、Vitaはその内部にPSPハードウェアの機能すべてを搭載しています。
また使用されるexploitにより、開発者はdynamic-recompilation機能を使用してエミュレータを高速化することができます。
Androidやカスタムテーマ、チートやプラグインをインストールすることはできますか?
いいえ、このexploitはカーネルやブートローダーレベルのアクセス権限は与えません。サンドボックス外のファイルシステムへのアクセスや、システムファイルの編集、または他のプロセスに割り当てられるメモリへのアクセスも同様にできません。
スケジュール
- 本日、Rejuvenateの早期ベータアクセスが(SDKを完成させ、テストするために)SDK開発者向けに配布されます。また、ハッカーたちにも同様に配布し、より多くのexploitの探索を開始してくれます(うまくいけば現在の制約も回避できるでしょう)。
- 今月末までに(あるいはSonyがPSNからPSM DevAssistantを削除したら)、パブリックベータ版が公開されます。しかし、ユーザーが試せるhomebrewはまだないので、homebrew開発者のみがこれを使用することを推奨します。うまくいけば、この時点でオープンソースSDKが完成し、開発者がアプリを製作する準備が整います。
- PSMが終了したら、使用できなくなるのを回避するためのPSM+がリリースされ、これを使うことになります。
ところで、われわれはVitaについての話し合いに2つのIRCチャンネルを使っています(ややこしくてごめんなさい、話せば長くなります!)。これは私やほかの非公式Vitaデベロッパーと話すのに好ましい手段です。UVLoaderやVitaDefiler、その他のexploit関連の話はirc.efnet.netの#vitadevで、SDKやAPI、homebrew開発についてはchat.freenode.netの#vitasdkに参加してください。
今回手伝っていただいた皆さん、特にDaveeさん、Proximaさん、そしてxyzさんに感謝します。これが素晴らしい何かの始まりとなることを期待しています。毎日、人々はVitaは死んだと叫んでいますが、我々はそれが間違いだと証明するでしょう。私たちはVitaに新たな命を吹き込もうとしています。
(翻訳終わり)