.

 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
WebMoney ぷちカンパ

ファンタシースターポータブル(日本製) バグ発覚? 

最近多いですが、ファンタシースターポータブルのセーブデータのバグについて紹介します。
(参考wololo氏ブログ

LibTiffクラッシュで有名なwololo氏がファンタシースターポータブルのセーブデータがexploitになるか試しています。

~解説~
まず、wololo氏が行った実験について説明します。
wololo氏が行った実験は、Gripshiftと同様にバッファーオーバーフローを起こして、任意のプログラムを実行させようとするものです。

⇒GripShiftについてはこちらから

Q.そもそも、オバーフローとは?

A.PSPに限らず、全ての電子機器は、まず、プログラム通りに物事を進めていきます。
その際、PSPで説明すると、ゲームのプログラムをメモリスティックから読み込み、アクセス速度の遅いMSより、CPU内部のメモリに格納して実行していき、目印として、X行目に戻る進むといったデータを入れておきます。。
CPUのメモリは限られているので、超えた場合は、始めに読み込んでいたものが抜け落ちていきます。抜け落ちてしまうと、あるプログラムのX行目を読み込んでいたデータが消えるので、戻る場所がなくなり、次のプログラム移行します。
これがバッファーオーバーフローです。
(若干、語弊があるかもしませんが、大体の意味を捉えてください。
間違っていたら、訂正をコメントにてお願いします。)

そこで、一旦上のことを理解したうえでプログラムについて説明します。

C言語の含む多くのプログラム言語はメインルーチン、サブルーチンなどから構成されています。

簡単な流れを書くと(ファンタシースターポータブルについて)


PSPでゲーム実行
for(;;) { //ループ
①file.fdpをロード(チェック)
⇒ない場合は、繰り返しロード

②セーブデータ有無チェック
⇒読み終えたらメインループに戻る。
A.セーブデータがある場合は自動読み込み
B.ない場合は無視(スキップ)

③メイン画面表示

④「始めから」、と「続きから」を選択
A.始めからの場合は新規でセーブデータを作成
B.続きからの場合はセーブデータ読み込み

⑤ゲームのルーチン開始
}
XMBのルーチン




~下準備~
・PSP-3000
・改造セーブデータ(DL①
・ファンタシースターポータブル(体験版DL①


~導入手順~
①上より改造セーブデータをダウンロードする。
②圧縮されているので、解凍して、以下のように配置します。
ms0:/PSP/SAVEDATA/ULJM91014/・・・
③次に、体験版の人は、以下のように配置します。
ms0:/PSP/GAME/ULJM91014
      ∟EBOOT.PBP
      ∟file.fbp
④XMBより起動します。
⑤起動すると、ロードした後、画面がおかしくなりますが、Oを押すと、
「このゲームをセーブするには384KB以上...」と表示されます。
はいと押して次に進みます。
⑥コンティニューを押してロードすると以下のようになります。
img_0484.jpg

~参考~
PSP-1000・・・MainRAM16MB、VRAM2MB、DRAM2MB
PSP-2000/3000・・・MainRAM32MB、VRAM2MB、DRAM2MB

PSPModule
PSPDevice


~改変方法~
①らぼこをDLする。(GAME150に保存する。)
②実行すると、必要フォルダが作成される。
③GamekeyをDLする。
④ファイルに複合する。
GAMEID.binが、作成される。

以下を参考に変更する。
sparta.jpg

img_0482-300x225.jpg




WebMoney ぷちカンパ

この記事へのコメント

Re: ファンタシースターポータブル(日本製) バグ発覚?

個人的な意見ですが、独自でテストしたところ
まだ、なんともいえないですが、
HOMEボタン押した後の終了メニュー時に、電池アイコンをバグらせることは出来るので、何らか効果あると思います。
(XMBに戻ってもバグったまま、電源落とすと直ります。)
具体的なプロセスが不明で非常に壊れる可能性が高いので、公開出来ませんが、簡単なゲームが出来るようになったら、公開したいと思います。

Re: ファンタシースターポータブル(日本製) バグ発覚?

ファンタシースターはただのバグと書かれてましたね==

コメントをお寄せ下さい

 必須
 必須
 必須
       
 必須
(コメント編集・削除に必要)
(管理者にだけ表示を許可する)

トラックバック

この記事のトラックバックURL
http://psp0kaizou.blog36.fc2.com/tb.php/550-b0d01fbf

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。