Site cover image

🐾 flag3

ポケットモンスター 金・銀 バイナリエディタ レポートバグあり

バイナリエディタは、元々初代ポケモンにおける任意コード実行の究極の到達点とも言えるツールで、今回紹介するバイナリエディタは第二世代用に移植されたものです。このエディタを使用すると、ゲーム内のあらゆるメモリの読み書きが可能になります。さらに、プログラムを記述し、実行させることもできます。

バイナリエディタ導入手順

環境

ポケットモンスター 金・銀の日本語版のみに対応しています。ポケットモンスター クリスタルや日本語版以外のバージョンには対応していません。またポケモンスタジアム金銀のGBビルや一部のエミュレータでは動作しません。またさいしょからはじめることを前提にしセーブをする際に特定のタイミングで強制リセットを行うSRAM Glitchを使う方法となります。猶予1~1.5フレームの強制リセットを2回実行するため上級者向けの導入方法となります。SRAM Glitchを使わない方法やポケムーバーを使う方法、ポケットモンスター クリスタルにおけるバイナリエディタ導入については以下の記事をご覧ください。なお3DS VCでポケムーバーが使えるのであれば別の方法でバイナリエディタを導入するのをおすすめします。

📄Arrow icon of a page linkポケットモンスター 金・銀 バイナリエディタ

📄Arrow icon of a page linkポケットモンスター 金・銀 バイナリエディタ ポケムーバーバグ

📄Arrow icon of a page linkポケットモンスター クリスタル バイナリエディタ

手順1: 1つ目のバッジを入手するまで進める

  1. 主人公の名前は「えてびま」にします。
  2. 最初のポケモンは後で使用しますが何を選んでも良いです。
  3. ポケモンを1匹捕まえて「クグ」というニックネームをつけます。
  4. ハヤトに勝利しわざマシン31を入手しトゲピーのタマゴを入手します。

キキョウシティのフレンドリィショップではながらメールを買っておくと良いです。

手順2: 手持ちのポケモンをボックスに複製する

  1. セーブを行います。
  2. 手持ちのポケモンをボックスに預けます。
  3. ボックスをかえるを選択します。
  4. 別のボックスに切り替えようとセーブする際に「ポケモンレポートに かきこんでいます」の表示が出ている間に強制リセットをします。

上記の通りに行うことでボックスに預けたポケモンが複製されます。手順1で捕まえた「クグ」を2匹以上用意してください。強制リセットのタイミングの猶予を確保するためにボックスに預けているポケモンを18~25匹にしておくことをおすすめします。

手順3: レベル0のバグったポケモンを入手する

  1. 最初のポケモンを手持ちに入れてセーブをします。
  2. 最初のポケモンを預けます。「ボックスせいり/メールはずしてね」を選択し、レポートにうえからかいてもいいですか?に対して「はい」を押して、「でんげんをきらないでください」と完全に表示された直後に強制リセットをします。
  3. 預けた最初のポケモンがレベル0の♀でニックネームが空白になっていることを確認してください。そうでない場合は2.をやり直してください。ポケモンが預けられていない場合は、リセットが早すぎたことになります。ポケモンが正常に預けられている場合は、リセットが遅すぎたことになります。
    • レベル0のバグったポケモンの入手に成功するための強制リセットのタイミングは猶予1~1.5フレームで、「はい」を押してから149フレーム後となります。
  4. レベル0の♀でニックネームのポケモンのようすをみるで番号が000となっていれば成功となります。そうでなければ2.をやり直してください。

なおこの手順においてボックスに預けているポケモンが30匹にならないようにしてください。30匹になりそうになった場合は逃がすことでボックスのポケモンの数を減らしてください。

手順4: ボックスの30匹目をバグったポケモンにする

レベル0の最初のポケモンを引き出し、わざマシン31を使ってどろかけを覚えさせてください。手順2の方法で手持ちのポケモンを複製することでポケモンを増やしてボックスの30匹目がどろかけを覚えさせたバグったポケモンになるようにしてください。

ボックスの30匹目がどろかけを覚えさせたバグったポケモンであることを確認した後にボックスのポケモンを逃がすことでボックスのポケモンの数を28匹以下に減らします。

手順5: バグったポケモンをタマゴから孵化させる

  1. タマゴを手持ちに入れてセーブをします。
  2. タマゴを預けます。「ボックスせいり/メールはずしてね」を選択し、レポートにうえからかいてもいいですか?に対して「はい」を押して、「でんげんをきらないでください」と完全に表示された直後に強制リセットをします。
  3. 預けたタマゴが空白の名前になっていることを確認してください。そうでない場合は2.をやり直してください。タマゴが預けられていない場合は、リセットが早すぎたことになります。タマゴが正常に預けられている場合は、リセットが遅すぎたことになります。
    • 空白の名前のタマゴの入手に成功するための強制リセットのタイミングは猶予1~1.5フレームで、「はい」を押してから149フレーム後となります。
  4. タマゴのようすをみるで「もうすぐうまれそう」と表示されれば成功となります。そうでなければ2.をやり直してください。
  5. タマゴを孵化させてください。バグったポケモンが孵化されます。バグったポケモンが孵化されなかった場合は2.をやり直してください。

なおこの手順においてボックスに預けているポケモンが30匹にならないようにしてください。30匹になりそうになった場合は逃がすことでボックスのポケモンの数を減らしてください。

Image in a image block

手順6: じてんしゃを2つ入手する

  1. 手持ちのポケモンを以下の順番にします
    🐭

    タマゴでないポケモン

    タマゴでないポケモン

    タマゴでないポケモン

    手順5で入手したバグったポケモン

    クグ

    クグ

  2. パソコンから「ボックスせいり/メールはずしてね」を選択してタマゴでないポケモンを手持ちの先頭に加えます。ボックスの中におやの名前が「えてびま」のポケモンを残すようにしてください。
  3. 手持ちの1番目と手持ちの6番目を入れ替えます。
  4. 手持ちの1番目と手持ちの7番目を入れ替えます。
  5. 手持ちの1番目と手持ちの7番目を再度入れ替えます。
  6. 手持ちの7番目のポケモンからどうぐをあずかりじてんしゃを入手します。
  7. 手持ちの1番目と手持ちの7番目を入れ替えます。
  8. 手持ちの7番目のポケモンからどうぐをあずかりじてんしゃを入手します。

手順7: 任意コード実行環境を整える

  1. パソコンから「ポケモンをあずける」を選択して手持ちのポケモンを上から2匹あずけます。その後ボックスのおやの名前が「えてびま」のポケモンをつれていきます。
  2. 手持ちの4番目と手持ちの6番目入れ替えておやの名前が「えてびま」のポケモンを4番目に配置するようにします。
  3. ボールポケットを開いて持っているボールをモンスターボールのみにし個数を1、2、4、5のいずれかにしておきます。
  4. たいせつなものポケットを開いて1つ目のじてんしゃでセレクトボタンを押してから2つ目のじてんしゃでセレクトボタンを押します。
  5. ボールポケットに個数が255のボールが出現するので、残りが17個になるようにすてます。
  6. パソコンから「どうぐをあずける」を選択して17個のボールとじてんしゃを順に預けます。
  7. ボールポケットの14番目にある17個のボールをボールポケットの65番目に移動させます。
    • ボールポケットの64番目が0個でない数字になっているのでこれを目印にしてボールポケットの65番目に移動させると良いです。
    • 移動させた後に65番目のボールの個数が17個になっていることを確かめてください。
  8. メニューからポケギアが消えていれば任意コード実行の環境構築が終了となります。

手順8: 簡易版バイナリエディタ導入

ボックスの名前を以下のようにしてください。

📦
ボックス1:ダだギョにヂだゾ

ボックス2:ダだゲムよダだガ

ボックス3:だじダムキづごぱ

ボックス4:ヅまてへぎまぴよ

ボックス5:へぎまボぷへぎま

ボックス6:へォひひ はァリ

ボックス7:どダれはリダだや

ボックス8:ざダれ?よダリ

ボックス9:だかがよぜ?だを

ボックスの名前を変更したら下記の内容のメールをポケモンにもたせます。

✉️
へロどて6リなひだへぜまちぼダメ
に0ぞ?ムぞボデのよなゥゅリだっ

メールの作成後はメールの中身を読みます。その後ずかんを開くことで簡易版バイナリエディタを起動することができます。

簡易版バイナリエディタ

これ以降、上記のメールを読んでからずかんを開くたびに簡易版バイナリエディタを起動することができます。

Image in a image block

左側の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

バイナリエディタ

これ以降、簡易版バイナリエディタを起動してからセレクトボタンを押すたびに、バイナリエディタを起動することができます。

Image in a image block

画面上部の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を使うたびにバイナリエディタを直接起動することができます。

Image in a image block

手順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匹目のおやの名前を主人公の名前に変えることができます。

使い方

バイナリエディタを導入した後は以下の記事で使い方を確認することができます。

📄Arrow icon of a page linkポケットモンスター 金・銀・クリスタル バイナリエディタ 使い方

注意

アドレスD418~D41A、D6E6~D799はバイナリエディタで編集しないようにしてください。

参考文献