メダル オブ オナー ヒーローズに新たなPSPのexploit発見?





DCEmuで、PSPのUS版Medal of Honor Heroes(メダル オブ オナー ヒーローズ)にexploitが見つかったようでテストファイルを公開していました。【情報源:DCEmu


MOHH exploit test
メダル オブ オナー ヒーローズexploitのテスト

This can be new exploit for MOHH (ULUS-10141), but it needs to be tested.
Download: http://zdoom.ic.cz/psp/moh-exploit.zip – read file “info.txt”
Medal of Honor Heroes(ULUS-10141)の新たに見つかったexploitです。ただしテストが必要です。
http://zdoom.ic.cz/psp/moh-exploit.zip からダウンロードし、中にある”info.txt”をご覧下さい。

tested on: (and works)
テスト環境(動作確認済み)
– PSP-1000 (M33)
– PSP-3000 (CFW enabler)


“info.txt”を読むと、どうもハック済みPSPではテストしたがノーマルPSPではテストしていないようです。そのための公開?
CFWの場合はnitePRプラグインでチートを有効にして実行してテストをしたようです。

その”読め”と言われたinfo.txtの翻訳です。


MOHH (1) exploit by kgsws

必要な物:
– CFW化したPSP (このexploitにはネットワーク接続が必要です)
– ノーマルPSP
– WiFi接続環境 (CFW、ノーマル双方ともに必要)
CFW化したPSPに必要な物:
– nitePRプラグイン
ノーマルPSPに必要な物:
-Medal of Honor Heroes(US) UMD

方法 (CFW化したPSP):
– nitePRをインストール
– ULUS-10141.txtをnitePRフォルダにコピー
– nitePRプラグインを有効に
– ゲームを起動、インフラストラクチャへ
– “create server”へ移動
– “Room name run:ms0:/hx”のチートを有効に
– サーバースタート
– プレイヤーとして加わる前に”Player name run:ms0:/hx”のチートを有効に
– 2番目のプレイヤーを待つ
– 終了

方法 (ノーマルPSP):
– “hx”ファイルをメモリースティックのルートへコピー(ms0フォルダまるごとコピーでOK)
– Medal of Honor Heroesを起動
– インフラストラクチャへ
– CFW PSPがサーバーを作るまで待つ(なぜCFW?)
– “lb”というゲームへ入る
– 最初のプライヤーを探す
– 最初のプレイヤーを狙う
– 多分それで終了

ノーマルPSPではテストしていません。可能ならば誰かお願いします。

その他の情報:

プレイヤー名の脆弱性を利用したformat-string exploitです。
通常はプレイヤー名を長い名前に出来ませんが、このformat-string exploitはそれが可能な唯一の方法です。
きっかり880文字の名前にすると(format-stringを利用して)、次の4文字が$raレジスタに格納されます。
そう、880文字がexploitの決め手です。
exploitコードはルームネームに保存されます。$raはそこへ指定します。
exploitコードはms0:/hxを読み込むだけです。
ルームネームはサイズに制限がありますので35文字しか入りません。(‘\0’は使えません)
今回はローダーを新たに作っておらず昔のものを流用してます。
またその仕組み上制限があり、アドレス0x08E3227Cに62064b分しかロードできません。ただしローダーは0x08E3228Cからは実行できます。つまり最初の4つの命令までは実行されません。
ms0:/hxのファイルは大きいですがこれはPSPのキャッシュのためで、自身でコンパイルするときには最後にちょっとコードを付加する程度です。
同じバグがMedal of Honor Heroes2にもあると思います。ただし試していません。

Room name code (addresses on execution):
#addr 0x08E32270
addi $a0, $a0, 0x626C # *path
#addr 0x08E32274
jal 0x08C92BE4
#addr 0x08E32278
li $a1, 0x0801 # flags (PSP_O_RDONLY | PSP_O_EXCL)
#addr 0x08E3227C
ori $a1, $ra, 0x227C
#addr 0x08E32280
andi $a2, $sp, 0xFFFF
#addr 0x08E32284
jal 0x08C92B94
#addr 0x08E32288
andi $a0, $v0, 0xFFFF
#addr 0x08E3228C
# ms0:
#addr 0x08E32290
# /hx

Registers on crash (new $ra):
zr:0x00000000 at:0x08C3BB58 v0:0x12000000 v1:0x08D10000
a0:0x08E2C020 a1:0x00000000 a2:0x08EC5BB0 a3:0x00003670
t0:0xD6000000 t1:0x47000000 t2:0x0046FFFE t3:0x08EC2540
t4:0x493F4000 t5:0x4A000000 t6:0x4B000000 t7:0x08D10000
s0:0x20202020 s1:0x20202020 s2:0x20202020 s3:0x46464646
s4:0x30464646 s5:0x08D923C0 s6:0x08D906A0 s7:0x00000002
t8:0x08D0BB80 t9:0x08D0BB80 k0:0x09FFFB00 k1:0x00000000
gp:0x08D4B440 sp:0x09FFF270 fp:0x00010000 ra:0x08E32270


$raに任意のコードが入れられるそうです。期待、かな?
PSPLinkの環境があってメダル オブ オナー ヒーローズをお持ちの方なら確認出来そうですが、日本版でも動作するのかどうかが不明です。

人柱に魅力を感じる方、今ならまだ購入出来ます。
US版Medal of Honor Heroes 新品3,800円から

日本版メダル オブ オナー ヒーローズ 中古2,199円から

[追記]
日本版メダル オブ オナー ヒーローズ買ってきました。

Medal of Honor Heroes

CFW機で吸い出してチートしてノーマル機でアドホックで繋いで…とめんどくさそうです。日本版で出来るかどうかも定かではありませんが。
普段チートしないので買ってはきたものの手が出し辛いです。
とりあえずDumpSPで吸い出してみます。

説明書を読んで気が付いたのですが、WiFiは”アドホック”のみです。
原文には”インフラストラクチャ”とあったのでそのまま翻訳しましたがアドホックの間違いのようです。翻訳を修正しました。
【追記】注:日本版はアドホックしか無いようです。(ゴン太さん情報ありがとね)

[追記2]
日本版のせいかも知れませんが、チートをULJM-05318.txtにしただけでは何にもでてきません。”Room name run:ms0:/hx”のチートを有効、というところで止まってます。普段チートしないのでさっぱり分からず作業中断です。ファイル名変更だけではダメ?


  1. シグ’s avatar

    SECRET: 0
    PASS:
    いつもお疲れ様です。
    ところで、画像にあるPSPのクリアバージョンはどうやって入手したんですか?

  2. まも助’s avatar

    SECRET: 0
    PASS:
    >シグさん

    これはクリアのフェイス&バックプレート(中国製)を買って自分で取り替えました。お気に入りの逸品です。
    外装の精度が悪いのでよくアナログスティックが暴走します。
    ちなみに部品はすべてジャンク品の組み合わせです。マザーボードもUMDも液晶も無線LAN&メモステ基板も全部元は別々のPSPだったものを移植して作りました。無線LANだけエリアが狭くて調子良くないです。

  3. Uxill’s avatar

    SECRET: 0
    PASS:
    発売前の試作品なら持ってるんですがね(親の会社の関係で)
    めんどくさそうだし出来る気がしないのでやめときます

  4. まも助’s avatar

    SECRET: 0
    PASS:
    >Uxillさん

    >発売前の試作品なら持ってるんですがね(親の会社の関係で)
    >めんどくさそうだし出来る気がしないのでやめときます

    確かに面倒くさかったです。
    仮に上手くいったとしても毎回これでHENを起動させるのかと思うと萎えます。

  5. ゴン太’s avatar

    SECRET: 0
    PASS:
    インフラストラクチャが誤訳と直しているようですがこれは誤訳であはありません。このモードは日本語版にはありません。つまり必然的に日本語版では検証できないのでしょう。
    (北米版isoでインフラストラクチャの存在を確認済み)

  6. まも助’s avatar

    SECRET: 0
    PASS:
    >ゴン太さん

    情報ありがとうございます。
    早速記事直しました。

    先ほどMOHH (1) exploit by kgsws (second version)の記事を書いたときに動作ビデオのことも書きました。
    そのビデオ見て気が付きました。

    インフラストラクチャあるじゃん!!!

    うーん、と思っているときにちょうどグッドタイミングで書き込みをいただき、US版にはあるのだと確信しました。

    v2はアドホックでいいような感じなので期待はしてます。

Reply

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