6-7.(GC)プロアクションリプレイとか

次は吸い出せないことで有名なプロアクションリプレイなどの
Datel製ディスクからメインプログラムを抜き出す方法を紹介します。

GC向けのDatel製ディスクはブログのほうに書いたとおり
0x50000000以降の領域を直接読み込むことができれば
メインプログラムのデータを吸い出すことができます。

■やり方1
1.GameCube ISO Ripping Serverなどに付属しているriptool.dolを逆アセンブルし
ディスクの位置を初期化している部分を特定、該当箇所を0x50000000から読み込むように書き換えます。

80003670: 38000000 li r0, 0
80003674: 901f001c stw r0, 0x001C (r31)
80003678: 38000000 li r0, 0
8000367C: 901f0020 stw r0, 0x0020 (r31)
80003680: 3d208000 lis r9, 0x8000
80003684: 38696e40 addi r3, r9, 28224

   ↓
80003670: 38000000 li r0, 0
80003674: 901f001c stw r0, 0x001C (r31)
80003678: 3c005000 lis r0, 0x5000
8000367C: 901f0020 stw r0, 0x0020 (r31)
80003680: 3d208000 lis r9, 0x8000
80003684: 38696e40 addi r3, r9, 28224

書き換え後のファイルはこちらになります。→[こちら]

2.PCとGCとを直接クロスケーブルを使って接続し、
IPアドレスをPCは192.168.1.100GCを 5173 192.168.1.32に設定。
SDLOADで起動させる場合は「SDIPDATA.CFG」も同じように書き換えます。
設定が終わったらSDLOADからparrip.dolを起動します。
※SDメディアランチャから直接起動させる場合うまくいかないと思うので
間にSDLOADをはさんで起動させるようにしてください。

3.赤い画面に切り替わるのですぐにGameCube ISO Ripping Serverを起動し、
データ受信待ち状態にします。※コマンドプロンプトのウィンドウが出るのでそれは閉じてください。

4.ディスクを入れ替えてしばらくするとデータの転送が始まりますが
数MB転送したところで転送がとまるのでそのままアプリケーションを終了させます。

5.吸い出されたデータはプログラムのバイナリデータとなるのでそのままでは
GC/Wiiで実行できないので「bin2dol.exe」を使ってDOLファイルに変換します。

6.出来上がり


■やり方2
やり方はこちらがとても簡単。
私がこれのために作成したAction Replay Backup Helper Ver.0.01(以下ARBH)を使用します。

1.最初にWiikey baseに付属するDVDDUMPを使い、formatSD.batを実行してSDカードをフォーマットします。

2.フォーマットが完了したらARBHの"-p"オプションを使い、SDカードにパッチを適用します。

3.Wii/GCでDVDDUMPを起動し、PARなどのディスクをエラーが出るまでSDカードに保存します。

4.SDカードをパソコンに接続し、"-s"オプションを使い吸い出したデータをファイルに保存します。

5.もう一度DVDDUMPを実行し、吸い出す前にXボタンを押すと吸出し位置を移動できるので
chunk 1にセットし、またエラーが出るまでSDカードに保存します。

6.4番と同様にファイルに保存します。

7.6番でできたファイルをbin2dol.exeなどで変換すれば単体で起動するファイルが出来上がります。
GCMイメージを作成するにはARBHの"-gcm"オプションを使用します。




前へ          TOPへ