バイナリエディタは、元々初代ポケモンにおける任意コード実行の究極の到達点とも言えるツールで、今回紹介するバイナリエディタは第二世代用に移植されたものです。このエディタを使用すると、ゲーム内のあらゆるメモリの読み書きが可能になります。さらに、プログラムを記述し、実行させることもできます。
バイナリエディタ導入手順
環境
3DSのバーチャルコンソール版のポケットモンスター 金・銀の日本語版のみに対応しています。ゲームボーイのカートリッジ版やポケットモンスター クリスタル、日本語版以外のバージョンには対応していません。またさいしょからはじめることを前提にしています。ゲームボーイ版やポケットモンスター クリスタルにおけるバイナリエディタ導入については以下の記事をご覧ください。
📄ポケットモンスター 金・銀 バイナリエディタ レポートバグあり
手順1: キキョウシティまで進める
- 主人公の名前は「えてびま」にします。
- 31ばんどうろでマダツボミを捕まえてください。
- キキョウシティのフレンドリィショップではながらメールを買ってください。
手順2: マダツボミをボックス2に複製する
- ボックス2に切り替えてセーブを行います。
- マダツボミをボックスに預けます。
- ボックスをかえるを選択します。
- 別のボックスに切り替えようとセーブする際に「ポケモンレポートに かきこんでいます」の表示が出ている間に強制リセットをします。
上記の通りに行うことでマダツボミがボックス2に複製されます。ボックス2をマダツボミ30匹で埋めてください。また手持ちのポケモンを6匹にしてください。
手順3: ポケムーバーバグ
- ボックス1を現在のボックスにし中身を空にしてください。
- ボックス1に持ち物を持たせたポケモンを1匹預けます。
- 持ち物を持たせてないポケモンを1匹預けセーブをしないでゲームを終了します。
- ポケムーバーを起動してボックス1の中身を転送します。最後に預けたポケモンが転送対象となるのでそのまま転送をしてください。
- ゲームを再開して「ボックスをかえる」でボックス1のポケモンの数が0と表示されるが実際にはポケモンが残っていることを確かめてください。
残っているポケモンを移動させたり逃がしたり引き出したりはしないでください。この手順によって手持ちのポケモンは5匹になることを想定しています。
手順4: ボックス1を満タンにする
- ボックス2のマダツボミをボックス1の一番上に移動させてください。移動ができなくなるまでこの操作を繰り返してください。
- ボックス2の最後に残ったマダツボミを手持ちに加えて手持ちのポケモンが6匹になるようにしてください。
- 野生のポケモンを1匹捕まえてください。ボックス1に転送されマサキから満タンになった連絡が入ります。
手順5: ふしぎなタマゴを2つ入手する
- 「ポケモンをあずける」から手持ちのポケモンを2匹逃がします。
- 「ボックスせいり/メールはずしてね」でボックスの1番目のポケモンを別のボックスに移動させます。
- ボックスの1番目のポケモンを元の場所に移動させます。
- ボックスの3番目のポケモンをボックスの1番目に移動させます。
- ボックスの1番目のポケモンを元の場所に移動させます。
- ボックスの1番目のポケモンをボックスの3番目に移動させます。
- ボックスの1番目のポケモンをボックスの2番目に移動させます。これを4回繰り返してください。
- ボックスのポケモンを上から2匹手持ちに移動させます。
- 「ポケモンをあずける」から手持ちのポケモンを1匹預けます。
- 手持ちに移動させた2匹がふしぎなタマゴを持っていることを確かめてください。持っていればあずかってふしぎなタマゴを2つ入手してください。
- ふしぎなタマゴを持っているポケモンが1匹のみの場合は複製を行うことで2つのふしぎなタマゴを入手してください。
ふしぎなタマゴを2つ入手したらセーブすることをおすすめします。
手順6: 任意コード実行環境を整える
- おやの名前が「えてびま」のポケモンを3番目と4番目に配置するようにします。
- ボールポケットを開いて持っているボールをモンスターボールのみにし個数を1、2、4、5のいずれかにしておきます。
- たいせつなものポケットを開いて1つ目のふしぎなタマゴでセレクトボタンを押してから2つ目のふしぎなタマゴでセレクトボタンを押します。
- ボールポケットに個数が255のボールが出現するので、残りが17個になるようにすてます。
- パソコンから「どうぐをあずける」を選択して17個のボールとふしぎなタマゴを順に預けます。
- ボールポケットの14番目にある17個のボールをボールポケットの65番目に移動させます。
- ボールポケットの64番目が0個でない数字になっているのでこれを目印にしてボールポケットの65番目に移動させると良いです。
- 移動させた後に65番目のボールの個数が17個になっていることを確かめてください。
- メニューからポケギアが消えていれば任意コード実行の環境構築が終了となります。
手順8: 簡易版バイナリエディタ導入
ボックスの名前を以下のようにしてください。
ボックス2:ダだゲムよダだガ
ボックス3:だじダムキづごぱ
ボックス4:ヅまてへぎまぴよ
ボックス5:へぎまボぷへぎま
ボックス6:へォひひ はァリ
ボックス7:どダれはリダだや
ボックス8:ざダれ?よダリ
ボックス9:だかがよぜ?だを
ボックスの名前を変更したら下記の内容のメールをポケモンにもたせます。
に0ぞ?ムぞボデのよなゥゅリだっ
メールの作成後はメールの中身を読みます。その後ずかんを開くことで簡易版バイナリエディタを起動することができます。
簡易版バイナリエディタ
これ以降、上記のメールを読んでからずかんを開くたびに簡易版バイナリエディタを起動することができます。
左側のD6E6が書き換えようとしているメモリのアドレスで、右の00がその中身です。この簡易版バイナリエディタではA、B、Cの表示が正常でないことに注意してください。Aがg、Bが横線、Cが電話マークとなっています。
B: アドレス-01
A: アドレス+01
↑: 中身-01
↓: 中身+01
←: 中身-10
→: 中身+10
START: 終了
SELECT: D6E6からのコードを実行(プログラム入力するまで押さないように注意)
手順9: バイナリエディタ導入
簡易版バイナリエディタを使用してバイナリエディタのプログラムを入力していきます。入力を終えたらセレクトボタンを押すことでバイナリエディタを起動することができます。バイナリエディタを起動する前に一旦スタートボタンを押して簡易版バイナリエディタを終了させてセーブすることをおすすめします。
| アドレス | 中身 |
|---|---|
| D6E6 | CD |
| D6E7 | A8 |
| D6E8 | 34 |
| D6E9 | CD |
| D6EA | AE |
| D6EB | 33 |
| D6EC | CD |
| D6ED | 87 |
| D6EE | 0D |
| D6EF | CD |
| D6F0 | 95 |
| D6F1 | 0D |
| D6F2 | 11 |
| D6F3 | F2 |
| D6F4 | 40 |
| D6F5 | 21 |
| D6F6 | 00 |
| D6F7 | 96 |
| D6F8 | 01 |
| D6F9 | 19 |
| D6FA | 3E |
| D6FB | CD |
| D6FC | 5B |
| D6FD | 0E |
| D6FE | F0 |
| D6FF | 9F |
| D700 | F5 |
| D701 | 21 |
| D702 | 00 |
| D703 | D0 |
| D704 | CD |
| D705 | 42 |
| D706 | D7 |
| D707 | E5 |
| D708 | 11 |
| D709 | F8 |
| D70A | FF |
| D70B | 19 |
| D70C | E5 |
| D70D | D1 |
| D70E | 21 |
| D70F | A9 |
| D710 | C3 |
| D711 | F0 |
| D712 | 9F |
| D713 | CD |
| D714 | 9D |
| D715 | 30 |
| D716 | CD |
| D717 | 8B |
| D718 | D7 |
| D719 | 01 |
| D71A | 0C |
| D71B | 00 |
| D71C | 36 |
| D71D | 7C |
| D71E | 23 |
| D71F | 7A |
| D720 | CD |
| D721 | 8B |
| D722 | D7 |
| D723 | 7B |
| D724 | CD |
| D725 | 8B |
| D726 | D7 |
| D727 | 36 |
| D728 | 7F |
| D729 | 23 |
| D72A | 1A |
| D72B | CD |
| D72C | 8B |
| D72D | D7 |
| D72E | 13 |
| D72F | 36 |
| D730 | 7C |
| D731 | 09 |
| D732 | 7C |
| D733 | FE |
| D734 | C6 |
| D735 | 20 |
| D736 | E5 |
| D737 | CD |
| D738 | AD |
| D739 | 30 |
| D73A | 3E |
| D73B | ED |
| D73C | EA |
| D73D | 4B |
| D73E | C4 |
| D73F | E1 |
| D740 | 18 |
| D741 | C2 |
| D742 | CD |
| D743 | F4 |
| D744 | 36 |
| D745 | F0 |
| D746 | AB |
| D747 | 5F |
| D748 | 01 |
| D749 | 01 |
| D74A | 00 |
| D74B | 07 |
| D74C | 38 |
| D74D | 18 |
| D74E | 0B |
| D74F | 0B |
| D750 | 07 |
| D751 | 38 |
| D752 | 13 |
| D753 | 0E |
| D754 | F0 |
| D755 | 07 |
| D756 | 38 |
| D757 | 0E |
| D758 | 01 |
| D759 | 10 |
| D75A | 00 |
| D75B | 07 |
| D75C | 38 |
| D75D | 08 |
| D75E | 48 |
| D75F | 07 |
| D760 | 30 |
| D761 | 04 |
| D762 | E1 |
| D763 | F1 |
| D764 | D7 |
| D765 | C9 |
| D766 | 7B |
| D767 | 0F |
| D768 | 30 |
| D769 | 10 |
| D76A | 0F |
| D76B | 0F |
| D76C | 30 |
| D76D | 01 |
| D76E | E9 |
| D76F | F0 |
| D770 | 9F |
| D771 | CD |
| D772 | 9D |
| D773 | 30 |
| D774 | 79 |
| D775 | 86 |
| D776 | 77 |
| D777 | C3 |
| D778 | AD |
| D779 | 30 |
| D77A | 0F |
| D77B | 38 |
| D77C | 05 |
| D77D | 0F |
| D77E | 38 |
| D77F | 06 |
| D780 | 09 |
| D781 | C9 |
| D782 | 79 |
| D783 | 84 |
| D784 | 67 |
| D785 | C9 |
| D786 | F0 |
| D787 | 9F |
| D788 | 81 |
| D789 | D7 |
| D78A | C9 |
| D78B | F5 |
| D78C | CB |
| D78D | 37 |
| D78E | CD |
| D78F | 92 |
| D790 | D7 |
| D791 | F1 |
| D792 | E6 |
| D793 | 0F |
| D794 | C6 |
| D795 | F6 |
| D796 | F6 |
| D797 | 60 |
| D798 | 22 |
| D799 | C9 |
バイナリエディタ
これ以降、簡易版バイナリエディタを起動してからセレクトボタンを押すたびに、バイナリエディタを起動することができます。
画面上部の10が現在のROMバンクとSRAMバンクとなります。
↑: アドレス-01
↓: アドレス+01
←: アドレス-10
→: アドレス+10
B+↑: アドレス-100
B+↓: アドレス+100
B+←: アドレス-1000
B+→: アドレス+1000
A+↑: 中身-01
A+↓: 中身+01
A+←: 中身-10
A+→: 中身+10
START: 終了
SELECT+↑: バンク-01
SELECT+↓: バンク+01
SELECT+←: バンク-10
SELECT+→: バンク+10
SELECT+A: 現在のアドレスからのコードを実行(注意して使用してください)
バイナリエディタを使ってアドレスD418~D41A、DD90~DD9Bの中身を以下のように書き換えてください。
| アドレス | 中身 |
|---|---|
| D418 | C3 |
| D419 | E6 |
| D41A | D6 |
| DD90 | 3E |
| DD91 | E1 |
| DD92 | EA |
| DD93 | FC |
| DD94 | CF |
| DD95 | 3E |
| DD96 | 03 |
| DD97 | 21 |
| DD98 | 31 |
| DD99 | 56 |
| DD9A | CF |
| DD9B | C9 |
書き変えたらカーソルをアドレスDD90に合わせてSELECT+Aボタンを押すことでたいせつなものポケットにわざマシン33を入手することができます。このわざマシン33を使うたびにバイナリエディタを直接起動することができます。
手順10: 通常の状態に戻す
バイナリエディタの導入で様々な副作用が発生しています。
- 主人公の名前
- ボールポケット
- パソコンのどうぐ欄
- ポケギア
- ポケモンずかん
- ボックス名
- 手持ちのポケモン
- ボックスのポケモン
主人公の名前
ROMバンクを01にしてカーソルをアドレス6237に合わせてSELECT+Aボタンを押すことで主人公の名前を決めることができます。名付け終えたらSTARTボタンを押してバイナリエディタを一回終了させてください。
ボールポケット
アドレスD5EFからD5F2までの中身を 01 05 04 FF にすることでボールポケットを正常にすることができます。
パソコンのどうぐ欄
アドレスD609とD60Aの中身を 00 FF にすることでパソコンのどうぐ欄を元に戻すことができます。
ポケギア
アドレスD66Dの中身をアドレスD66Fに移動させてアドレスD670の中身を00にすることで元に戻すことができます。
ポケモンずかん
アドレスD671の中身を00にすることでポケモンずかんを正常にすることができます。
ボックス名
わざマシン33によるバイナリエディタ導入後はボックス名を好きなように変えることができます。
ROMバンクを01にしてカーソルをアドレス5D16に合わせてSELECT+Aボタンを押すことでボックスの名前をデフォルトの名前に戻すことができます。
手持ちのポケモン
手持ちの先頭を正常なポケモンにして、アドレスD9E8とD9E9の中身を 01 FF にすることで手持ちのポケモンを正常なポケモンのみにすることができます。
ボックスのポケモン
SRAMバンクを01にしてアドレスAD10とAD11の中身を 00 FF にすることでボックスの中身を空にすることができます。
おやの名前
バイナリエディタを使ってアドレスDDA0~DDABの中身を以下のように書き換えてください。
| アドレス | 中身 |
|---|---|
| DDA0 | 01 |
| DDA1 | 06 |
| DDA2 | 00 |
| DDA3 | 11 |
| DDA4 | 10 |
| DDA5 | DB |
| DDA6 | 21 |
| DDA7 | B5 |
| DDA8 | D1 |
| DDA9 | C3 |
| DDAA | D6 |
| DDAB | 30 |
書き変えたらカーソルをアドレスDDA0に合わせてSELECT+Aボタンを押すことで手持ちの1匹目のおやの名前を主人公の名前に変えることができます。
使い方
バイナリエディタを導入した後は以下の記事で使い方を確認することができます。
📄ポケットモンスター 金・銀・クリスタル バイナリエディタ 使い方
注意
アドレスD418~D41A、D6E6~D799はバイナリエディタで編集しないようにしてください。