CODE SQUARE -ゲーム改造コード-

たぶん更新しないゲーム改造コードのページ - 改造コードの置き場 -



アクセスアップ・SEO対策・検索エンジン登録

« GBAゲーム改造の手引き | メイン | コントローラの判定処理 »

GBA PARマスターコードのサーチ方法(暫定版)

[Top]
GBA PARマスターコードのサーチ方法(暫定版)
■用意するもの

 ・バイナリエディタ(SFXなど)
 ・デバッガ付きエミュレータ(batgbaがお勧めかな・・)


■サーチ手順

 まず、バイナリエディタで、ROMファイルを開いて、0x04000130という数値を検索します。
 SFXなら「l04000130h」で検索すればOKです。

 いくつかの候補が見つかりますが、とりあえず一番最初のオフセットアドレスに注目してください。
 以下の例では0000680Hになります。


 次に、このオセットアドレスに+8000000hした値(8000680)近辺を逆アセンブル(※)で確認すると、先ほど検索した4000130Hをロードしている命令(l以下の例では「ldr r1, =#0x4000130])を見つけることができます。
たいていの場合、この命令の直後にあるadd命令のアドレスをフックすればOKのようです。add命令がなければ、4000130Hをロードしている命令以降の適当なALU関連の命令(ldとかorとか)を狙ってやればよい感じです。


※ARM CPUには、ARM命令セットとTUMB命令セットの2種類があるので逆アセンブル際には注意してください。GBAのゲームの場合、大抵はTUMB命令セットです。batgbaで命令セットを切り替えるには、CPUウィンドウを表示([Debug]→[View]→[CPU])して、codeのとなりのボタンをクリックします。

 なお、ゲームによっては、上の例のように一発でフックアドレスを特定できない場合もあります。その場合は、次の4000130Hをロードしている命令近辺を狙ってみるなどします。。



■コード化
 上の例では、8000620にフックすれば良いことになるので、マスターコードは

 F8000620 00000101

 となります。後はこれを暗号化すればOKです。

 ゲームコードの部分を付加した場合は、次のようになります。
 
 F8000620 00000101
 4A4F5441 001DC0DE

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Contact Us | ©2006 G'sSQUARE-G-Poket.com | Powered byMovable Type 3.21-ja