Half-Byte LoaderとwMenu〜OFW6.30時代のPSP Homebrewのカタチ

Wagic, Magic the Gathering, and PSP homebrewsで、wololo氏がPSPの公式ファームウェアでHomebrewを実行するためのHalf-Byte Loader(HBL)をR91、そしてR92へとバージョンアップしたことを伝えていました。HBLのメニュー画面はHBLプロジェクトとは別に開発することになりwMenuというプロジェクトも始まったようです。wMenuプロジェクトはかつてのPSP界で著名なハッカーだったNoobz氏やFanjita氏のeLoaderの遺伝子も含まれているそうです。
【情報源:Wagic, Magic the Gathering, and PSP homebrews

emenu_1000

Half-Byte Loader R91

This new revision brings 2 major changes for the user: First, the menu is now a standard eboot. It means that if you are a homebrew coder, you can create your own menu with the usual SDK tools, and are not limited to the Patapon SDK anymore. Second, HBL is now able to come back to the menu once you quit a homebrew. This function is highly experimental for now, so dont cry if the second homebrew you run doesnt work as expected This feature can be disabled by setting return_to_xmb_on_exit=1 in the file hbl/hbl_config.txt. I still recommend revision 85 for now if you are looking for maximum compatibility and performance, but revision 91 sure has some benefits[:)]
今回のニューリビジョンにはユーザーにとっては2つの大きな変更点があります。まず第一に、メニューがEBOOT形式に変わりました。もしあなたがHomebrew制作をする側であれば、Patapon2 SDKではなくいつも使っているSDKで独自メニューが作成可能です。第二に、HBLでHomebrewを終了させた後、もう一度メニューに戻ることができるようになりました。この機能は現時点では実験的意味合いがかなり強いです。1つ目のHomebrew終了後2つ目のHomebrewが起動しなかったとしても、悲観する必要はありません。この機能はhblフォルダにあるhbl_config.txtというテキストファイルにreturn_to_xmb_on_exit=1と記載することで無効にすることができます。互換性とパフォーマンス重視というのであれば私のお勧めはやはりまだR85ですが、R91にもメリットはあります。

For those who havent seen it yet, here is a video of what it looks like (stay till the end of the video to see the go back to menu coolness[:)])
まだご覧になっていない方のために、どんな感じかが分かるビデオを作りました。(ビデオの最後の方でメニューに戻る素敵な部分がありますので是非ご覧ください。)

I especially want to thank Noobz and Fanjita, as most of this new code is a ripoff of their eLoader. (If you have never heard of the noobz eLoader, you missed the PSPs golden era[:)])
今回は特にNoobs氏とFanjita氏に謝辞を申し上げたいと思います。今回追加したコードは彼らの作ったeLoader(Homebrewのローダー)から拝借しました。(Noobz氏の名前を聞いた頃がないという方は、PSPの黄金時代を知らない方ですね)

hblフォルダの中にmenuという名称のフォルダが増えています。その中にEBOOT.PBPが入っていますので自作メニューを作成した場合にはこのEBOOT.PBPのみ配布すれば良いのだと思います。いままでHalf-Byte Loaderのプロジェクトに関わってこなかったCoderがメニュー作成という形で参加できるようになったというのが大きな変化だと思います。

ただ、一番の目的はメニュー関連のバグ報告をHalf-Byte Loaderプロジェクトから切り離すことだったようです。メニュー自体はHomebrewの動作という観点からすると重要な部分ではないのでその判断は間違ってはいないと思います。更にwololo氏自身はオリジナルメニューである「wMenu」プロジェクトをHBLとは別のサイドプロジェクトとして開始しました。

wMenu

今までのCFWのリカバリーメニューのような寂しい画面からすると非常に魅力的に見えます。これを見て自分もメニューを作ろうと考えるCoderが現れてもおかしくありません。

本文中に出てくるNoobs氏とFanjita氏は最近殆ど名前を聞かなくなってしまいましたので、wololo氏が言うように最近PSPに興味を持った方にはなじみが薄いでしょう。一番最近名前が出てきたのはGripshiftのexploitでeLoaderを実は開発していたニュースのときだと思います。
その他OFW3.03でGTA(グランドセフトオート)を使ったHENとダウングレーダー(OFW1.50へのダウングレード)や、OFW3.50でルミネスを使ったHENとダウングレーダー、ニワトリTIFF画像を使ったOFW2.80のHENとダウングレーダーも彼らが関わっていますし、Team C+Dでパンドラバッテリーを開発したのも彼らの業績です。ここまで聞けばwololo氏が「黄金時代」と表現したのも分かるでしょう。

eLoaderはnoobz!でダウンロードできますが、eLoaderアーカイブ内のreadmeにwololo氏がどこを拝借したのかのヒントがありました。

Using a different menu
別のメニューを使用する場合
v1.000 of the loader ships with a default menu, emenu–.pbp.
eLoader v1.000には標準メニューが同梱されています。それがemenu–.pbpというファイルです。
It’s also possible to install optional alternative menus, such as ‘Choice’.
代わりのメニューを’選んで’インストールすることも可能です。
The loader will use emenu–.pbp menu by default. If you want to use one of the alternatives, then edit the loadmenu1000.cfg file (with Notepad, or any other text editor), and change the following line:
eLoaderは標準で emenu–.pbpのメニューを使用しています。別のメニューを使用したい場合はloadmenu1000.cfgファイルを編集することで可能になります。Notepadなどのテキストエディタを使い、以下の部分を変更します。

menu=ms0:/psp/eloader/emenu–.pbp

to point at the location of the alternative menu’s .PBP file.
使いたいメニューの.PBPファイル名を’emenu–.pbp’の部分に記述してください。

“wMenu”の”w”はemenuから取ったwololo氏の”w”ですね。

eLoaderのソースを参考にした、とはいうもののそもそもeLoaderのソースが公開されているという記憶が私にはありません。調べてみましたが、やはり公開されてるという事実は見つかりませんでした。となるとwololo氏は直接Noobs氏かFanjita氏から直接または間接的にeLoaderのソースコードを入手していたことになります。

現在のHalf-Byte Loaderは過去のeLoaderの資産をも受け継ぎ進化をする過程でKoens Loader(ISOローダー)などの派生プロジェクトを伴いながら現在のPSPハック界の中心に近いところまで来ています。

Patapon2のHello Worldが名誉争いの果てにリークされたことから始まったバレンタインプロジェクト=Half Byte Loader for Patapon 2 Demoプロジェクトがここまで来るとは私は予想していませんでした。wololo氏をはじめn00b81氏やm0skit0氏などのメンバーの努力が一番讃えられるべきですが、私はそれ以上に重要だったのはソニーがパタポン2のexploit対策ファームウェアを早々にリリースしなかったことにより彼らのモチベーションが維持されたことではないかと考えています。

近くリリースされると言われるPSPのOFW6.30によって、前例通りだと確実にパタポン2のユーザーモードexploitは無効化されてきます。またexploit探しから出直しにはなりますが、ユーザーモードexploitが目標であればカーネルモードよりかなり敷居が低くなります。wololo氏のおかげでゲームのセーブデータを使ったユーザーモードexploitを探しからHello World作成までの方法は確立されましたのでまだexploitが複数見つかる可能性は高いでしょう(日本版のゲームでも公開されていないものの複数見つかっています)。
今後はHomebrewローダーという形を求めて、今回培ったHBLでのオープンソースプロジェクトがまた違った形で実を結ぶことになることを願いたいですね。

[6月29日追記]
ソニーからPSPのファームウェアアップッデート6.30がリリースされました。予想通りPatapon2のセーブデータが破損データとなりました。

Half-Byte LoaderとwMenu〜OFW6.30時代のPSP Homebrewのカタチ” に対して2件のコメントがあります。

  1. sukira より:

    HBLも進んできましたね。
    質問なのですが、パタポン2のexploitまたは今研究されているであろうカーネルexploitでの「ダウングレーダー」は作れるのでしょうか?
    ご教授よろしくお願いします。

  2. まもすけ より:

    @sukiraさん

    理論的には可能だと思いますが、PSPGoに関しては5.70のファームウェアアップデータが存在しないため果たして物理的に可能なのかどうかが疑問です。

    先ほど6.30が公開され、パタポン2のセーブデータが使えなくなってしまいました。
    残念です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください