2010年02月05日一覧

ゲーム最新情報 2010年2月5日のニュース

●moonlight氏が、ニンテンドーDSでマルチメディア機能を実現するMoonShell version 2.10 final betaをリリースしていました。もう致命的なバグはないだろうとのことで、一週間ほど様子を見て問題が無ければこのままstable版をリリースするようです。

●GX-MODで、Team XeLoveがXbox 360のゲームのバックアップISOを余分なデータを省いて可能な限りファイルサイズを小さくするためのユーティリティx360Scrub v0.2bをリリースしたことを伝えていました。

●FLATMOD公式サイトで、WiiのMODチップFLATMODのファームウェアをアップデートするプログラマー基板FLATPROGのビデオを公開したことを伝えていました。電源はUSBバスパワーかWiiのフラットケーブルのいずれかから供給し、FLATMODと繋げば、あとはボタンを押すだけでLEDがゆっくり点滅しファームウェアを書き換えます。
YouTube: DSCF0087.divx

●PS3のモーションコントローラーの名称は”Arc”だとTHQの社長まで口を滑らせた(ゲーム最新情報 2010年2月4日のニュース参照)ことについて、SCEAのコーポレートコミュニケーションズシニアディレクターPatrick Seybold氏がTwitterでまだモーションコントローラーの名称については発表していないから、噂のコードネームで表現しただけだと、あくまで名称は未定であることを印象づけるようつぶやいていました。

●ソニーがPSP goを値下げなどをして仕切り直し発売をするかもしれないとの噂(ゲーム最新情報 2010年2月2日のニュース)について、GameInformerがソニーは”nothing but that.”(単なる憶測にすぎない)と否定したことを伝えていました。

●GBAtempで、SupercardチームがニンテンドーDSシリーズ用マジコンSupercard DSONE/DSTWOの新OSSupercard Evolution OS(EOS)をリリースしたことを伝えていました。

DSONE EOS

インターフェイスを完全新設計し、以下の機能を搭載したようです。
・ロングファイルネーム対応
・チートコードフォーマットのDAT対応。リアルタイムチートにも対応。
・リアルタイムセーブのスロットを4つ搭載。
・3Dゲームエンジン自動検出機能搭載。
・チートコードによるスローモーションプレイ対応。
・リアルタイムセーブガイドとしてテキストフォーマットにダイレクト対応。フォントもより美しく。
なお、今まで通りSDHC/非SDHCは別バージョンのままです。

●マイクロソフトが公式サイトで初代 Xbox LIVEのサービスを2010年4月15日をもって終了すると告知していました。今でも初代XboxでLIVEを楽しんでいるユーザーにとっては悲報です。日本にはほとんどいないと思いますけど。



pspjoke氏のPSP OFW6.20 exploitはレジスタを自在に操れる神懸り的exploit

Lan.stフォーラムでpspjoke氏がPSPのセーブデータを使ったexploitを発見したと報告していました。【記事

ゲーム自体は現在でもプレイステーションストアにあるらしいですが、現時点では何のゲームを利用しているかについては未公開です。どうやら何も進展しないままソニーに対策されてしまったFreePlay氏のexploit(Hello World)の失敗を糧に慎重に扱っている様子がフォーラムから見て取れます。

今回のexploitが動作するのはファームウェア6.20までの全PSP(PSP go含む)対応でユーザーモードexploitだそうです。今後eLoaderは予定されていくようですが、カーネルモードへアクセスが可能になるかもしれないHEN(Homebrew ENabler)まで進展するかどうかは全く未知数です。

ここ最近PSPをハックしたと主張するのは実際動画だけのFAKEがほとんどでしたが、今回は少し趣が異なります。動画が全くなく、実際PSPをクラッシュさせたときのPSPLinkを使ったレジスタ値でのexploit証明です。

PSPLink_Savedata_41

ゲーム名は分かりませんが、Gripshiftの時と同様にセーブデータに「A」の文字(0x41)を大量に入れてバッファーオーバーフローを導きだしているようです。Gripshiftの時の文字コードは「a」の文字(0x61)で名前に”This is spartaaaaa….”を入力していましたが、このPSPLinkの結果は例えば「This is SARTAAAAA….”」を入れたような状態です。あちこちのレジスタに41(ASCIIコードでいうと「A」)が頻出しています。

PSPLink_Savedata_E

この場合は先ほどの名前部分の「41」を「EE」に置き換えています。ここがexploitであると一目で分かるポイントで、「41」の代わりに「EE」へ置き換えたところ各レジスタの値もそれに合わせて「0xEEEEEEEEE」となったことが一目で分かります。つまりは各レジスタに任意の値を入れておくことが可能ということです。

どちらの結果を見ても分かる通り、今回のexploitは下記のレジスタの値を任意に操れることになります。
$S0〜$S7 callee-saved register
$fp frame pointer
$ra return address

PSPはこのexploitでクラッシュしていると思いますが、disasmを使ったその時のアセンブル表示がないのでこのレジスタを簡単に使えそうなのかが分かりません。仮に$raへのジャンプコールが存在していれば任意のアドレスへ飛ばすことが可能になります。そこになんらかのコードを書いてしまえば自作コードを走らせることが出来るようになります。

PSPLinkの結果はそれなりに信頼性が高いような気がしてしまいますが、当然それ自体FAKEの可能性もあります。
ただし、今回はn00b81氏という、PSP界では知名度があるフォーラムユーザーにヘルプを求めています。ある意味それが本物であるという証拠とも言えるでしょう。

Lan.stフォーラムはPSP界では知名度がのレベルが高いことで有名ですが、今回は逆にそれを上手く利用し、名前が通っているn00b81氏に検証を含めたお手伝いをしてもらっている形です。

かねてよりwololo氏が
「exploitの証拠として有名どころのユーザーに送って確認してもらえばいい」
と言っていましたが、まさにそんな展開になっています。

それにしてもPSPLinkでこんなに美しい結果が出るなんて、それを見ることが出来ただけでも幸せです。

今回のexploitはユーザーモードでしか動作しませんが、PSP goで初めてHomebrewが起動するかもしれない大きな分岐点になるかもしれません。