[HG]ハイドリウム(Mercury日本版)とPursuit Force- Extreme Justice クラッシュの中身は?





PSPのファームウェアアップデートでいつの間にやら対策されてしまっていたMercuryの日本版である[HG]ハイドリウム日本版と、クラッシュバグがを発表しただけなのに5.50で対策されてしまったPursuit Force: Extreme Justiceですが、本当にソニーが恐れる脆弱性が存在したのか、ちょっと調べてみました。
[関連記事]
Pursuit Force- Extreme JusticeでもPSPのexploitが見つかるか?
[HG]ハイドリウムにもMercury exploitは存在するのか?

完全な素人解析ですので100%あてになりません。
1:[HG]ハイドリウム

Hg

Hg_PSPLINK
クリックで拡大

PSPLinkの説明資料によるとクラッシュしたのは0x0881B8B8で、アドレスにあるword読み込み時のようです。例外処理がBus error(data)となっています。
戻り値$raが0x08831918となっていますがこの値がどこから来たのかはmercuryのセーブデータの解析ができないので分かりません。そのあと$raへのジャンプコマンドがあるのですが、その直前にlwで$raの値を変えているので何か出来るのかもしれません。

2:Pursuit Force – Extreme Justice

Pursuit Force- Extreme Justice(US)

Pursuit Force Extreme Justice_PSPLink
クリックで拡大

クラッシュしたのは0x89DE068で、$a0にwordをストアする時のようです。例外処理がAddress storeとなっています。
気になるのはクラッシュ後すぐ$raへのジャンプコマンドが来ています。$raの0x08896B08がどこから来たのか不明です。このセーブデータを作成したlopi1994氏は単にGripshift exploit同様プレイヤー名を長い物に変更していただけです。(確か調べた時には名前の後にHack PSPなんちゃらかんちゃらと書いてありました。aの連打ではなかったような気がします)
どちらにせよ$raの0x08896B08は入れた名前とは関係なさそうです。

wololo氏が教えてくれたパターン(This is spartaaaaaでa:61が並ぶパターン)でないと、何がどうなればexploitとなりうるのかがさっぱり分かりません。
詳しい方が見れば分かるのかな?


Reply

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