Site cover image

🐾 flag3

ポケットモンスター ピカチュウ バイナリエディタ 毒サファリ+いあいぎり

バイナリエディタは、初代ポケモンにおける任意コード実行の究極の到達点とも言えるツールです。このエディタを使用すると、ゲーム内のあらゆるメモリの読み書きが可能になります。さらに、プログラムを記述し、実行させることもできます。これにより、テトリスやオセロなどのゲームを遊ぶことも可能になる、非常に強力なツールです。

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

環境

ポケットモンスター ピカチュウの日本語版のみに対応しています。ポケットモンスター 赤・緑・青や日本語版以外のバージョンには対応していません。既存のセーブデータに対応しているためさいしょからはじめることなく導入することができます。さいしょからはじめる方法やポケットモンスター 赤・緑・青でバイナリエディタを導入する方法については以下の記事をご覧ください。さいしょからはじめることができるのであれば以下の記事でバイナリエディタを導入することをおすすめします。

📄Arrow icon of a page linkポケットモンスター ピカチュウ バイナリエディタ

📄Arrow icon of a page linkポケットモンスター ピカチュウ バイナリエディタ レポートバグなし

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

バージョンの違い

ポケットモンスター ピカチュウにはv1.0、v1.1、v1.2、v1.3が存在します。カートリッジの表面のパッケージシール右下に刻まれている刻印によってどのバージョンであるかを判定することができます。

  • 刻印が数字のみまたは数字+Aであればv1.0。
  • 刻印が数字+Bであればv1.1。
  • 刻印が数字+Cであればv1.2。
  • 刻印が数字+Dであればv1.3。

なお3DSのVCはv1.3となります。今回の手順においてv1.1、v1.2、v1.3による違いはありません。

準備

  1. 手持ちのどうぐを18種類以下にしパソコンにどうぐを50種類(満タンまで)預ける。
    • v1.1~v1.3(VC)の場合はパソコンのどうぐ欄の9~11番目を不要などうぐにしておくことをおすすめします。
  2. ロケットゲームコーナーのコインの枚数を下2桁が63になるようにする。
  3. 手持ちのポケモンを以下のように調整する。
    • 1匹をどく状態、残りのポケモンをひんし状態にする。
    • いあいぎりを覚えたポケモン(要ブルーバッジ)。
    • そらをとぶまたはテレポートを覚えたポケモン(そらをとぶの場合は要オレンジバッジ)。
      • テレポートの場合はセキチクシティをテレポートの移動先にする。
必須ではないがあると便利なアイテム
  • じてんしゃ : 移動と歩数稼ぎのため
  • HP回復アイテム : どく状態のポケモンのHPの調整のため
  • スプレー : エンカウントを回避するため

手順1: 毒サファリバグを行い壁貫通状態になる

  1. サファリゾーンに入る。
  2. 一度受付に戻って「もう おわりに する?」と聞かれるので「いいえ」を選択する。
  3. サファリゾーンの入口で残り歩数が8歩になるように移動をする。必要であれば残り1匹のポケモンが瀕死にならないようにHP回復アイテムを使用する。
    Image in a image block
  4. 上記の場所でセーブとリセットを行う。
  5. 受付に戻って下に移動し続けて下の出口から出る。サファリゲームをやるか聞かれるが「いいえ」を選択する。
  6. そらをとぶまたはテレポートでセキチクシティのポケモンセンター入り口前に移動する。
  7. 下に移動して段差を降りようとする。段差を降りる際にアナウンスが発生します。
    Image in a image block
  8. 壁貫通状態になりサファリゾーンの受付に移動する。受付内でどくによる全滅を行う。

手順2: いあいぎりでパソコンのどうぐ欄の拡張を行いかいがらバッジを入手する

セキチクシティのポケモンセンター入り口前に移動をし、下に8歩、左に96歩、上に99歩進んだ場所にある木に対していあいぎりをする。移動中の水上で野生のポケモンが出現するのを防ぐためにスプレーを用意しておくと良いです。いあいぎり後はそらをとぶまたはテレポートでポケモンセンターに移動する。パソコンのどうぐ欄の54番目にあるかいがらバッヂを1個だけ引き出す。

Image in a image block

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

そだてやさんに「ゅゆてょん」のポケモンを預けたままにし、ボックスに預けたポケモンの種族とニックネームを以下のものにしてからかいがらバッヂを使用することで簡易版バイナリエディタを起動することができます。ボックスに預けているポケモンの数を23匹以上にはしないでください。

番号 種族 ニックネーム
1 ポッポorコラッタ がんぜルョ
2 ポッポorコラッタ よヂづよく
3 ポッポorコラッタ づひせなゅ
4 ポッポorコラッタ ひをダだグ
5 ポッポorコラッタ ぼヂてソん
6 ポッポorコラッタ ダだギムツ
7 ポッポorコラッタ てソんダム
8 ポッポorコラッタ キづごヅー
9 ポッポorコラッタ ぱへにんぴ
10 ポッポorコラッタ へにんボぷ
11 ポッポorコラッタ v1.0: へにんへそ
v1.1~v1.3: へにんへた
12 ポッポorコラッタ ううゾダグ
13 ポッポorコラッタ ダめいんど
14 ポッポorコラッタ ダれチんダ
15 ポッポorコラッタ めしんざダ
16 ポッポorコラッタ れじよダリ
17 ポッポorコラッタ だいなひだ
18 メノクラゲ へみんちレ
19 ウツボット ぼダメギて
20 (任意) よザれんん
21 (任意) よメボデの
22 (任意) だア

簡易版バイナリエディタ

これ以降、かいがらバッヂを使うたびに簡易版バイナリエディタを起動することができます。

Image in a image block

左側のD5E9が書き換えようとしているメモリのアドレスで、右の00がその中身です。

🎮
簡易版バイナリエディタ操作方法

B: アドレス-01

A: アドレス+01

↑: 中身-01

↓: 中身+01

←: 中身-10

→: 中身+10

START: 終了

SELECT: D62Cからのコードを実行(プログラム入力するまで押さないように注意)

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

簡易版バイナリエディタを使用してバイナリエディタのプログラムを入力していきます。入力を終えたらセレクトボタンを押すことでバイナリエディタを起動することができます。バイナリエディタを起動する前に一旦スタートボタンを押して簡易版バイナリエディタを終了させてセーブすることをおすすめします。

アドレス 中身
D5E9 CD
D5EA v1.0: 3F
v1.1~v1.3(VC): 40
D5EB 38
D5EC F0
D5ED B3
D5EE 01
D5EF 01
D5F0 00
D5F1 07
D5F2 38
D5F3 18
D5F4 0B
D5F5 0B
D5F6 07
D5F7 38
D5F8 13
D5F9 0E
D5FA F0
D5FB 07
D5FC 38
D5FD 0E
D5FE 01
D5FF 10
D600 00
D601 07
D602 38
D603 08
D604 07
D605 38
D606 03
D607 07
D608 D0
D609 E9
D60A E1
D60B C9
D60C 79
D60D CB
D60E 43
D60F 20
D610 06
D611 CB
D612 4B
D613 20
D614 05
D615 09
D616 C9
D617 86
D618 77
D619 C9
D61A 84
D61B 67
D61C C9
D61D F5
D61E CB
D61F 37
D620 CD
D621 24
D622 D6
D623 F1
D624 E6
D625 0F
D626 C6
D627 F6
D628 F6
D629 60
D62A 22
D62B C9
D62C 21
D62D 00
D62E D0
D62F CD
D630 E9
D631 D5
D632 E5
D633 11
D634 F8
D635 FF
D636 19
D637 E5
D638 D1
D639 21
D63A AB
D63B C3
D63C 01
D63D 0C
D63E 00
D63F 36
D640 7C
D641 23
D642 7A
D643 CD
D644 1D
D645 D6
D646 7B
D647 CD
D648 1D
D649 D6
D64A 36
D64B 7F
D64C 23
D64D 1A
D64E CD
D64F 1D
D650 D6
D651 13
D652 36
D653 7C
D654 09
D655 7C
D656 FE
D657 C5
D658 20
D659 E5
D65A 3E
D65B ED
D65C EA
D65D 4B
D65E C4
D65F E1
D660 18
D661 CD

バイナリエディタ

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

Image in a image block
🎮
バイナリエディタ操作方法

↑: アドレス-01

↓: アドレス+01

←: アドレス-10

→: アドレス+10

B+↑: アドレス-100

B+↓: アドレス+100

B+←: アドレス-1000

B+→: アドレス+1000

A+↑: 中身-01

A+↓: 中身+01

A+←: 中身-10

A+→: 中身+10

START: 終了

SELECT: 現在のアドレスからのコードを実行(注意して使用してください)

アドレスD000~D005の中身を以下のように書き換えてください。

01 00 65 C3 38 3E

書き換えたらカーソルをD000に合わせてセレクトボタンを押すことでプログラムを実行することができます。このプログラムによってはやぶさバッヂを入手することができます。

かいがらバッヂでバイナリエディタを起動してバイナリエディタを使って以下のように書き換えを行うと、はやぶさバッヂを使うことでバイナリエディタを直接起動することができるようになります。はやぶさバッヂでバイナリエディタを起動することができるようになればかいがらバッヂは不要となります。

v1.0

アドレス 中身
DDCA C3
DDCB 2C
DDCC D6

v1.1~v1.3(VC)

アドレス 中身
D4CA 0E
D4CB 62
D4CC 04
D4CD 09
D4CE E9
D4CF 63

手順5: 通常の状態に戻す

バイナリエディタの導入で様々な副作用が発生しています。

  • パソコンに預けているどうぐの数
  • マサラタウンのオーキドはかせ
パソコンに預けているどうぐの数

アドレスD4B9の中身を32にすることでパソコンに預けているどうぐを50種類にすることができます。

マサラタウンのオーキドはかせ

かいがらバッヂを1個取り出したことでマサラタウンで主人公の家の横に本来出現しないオーキドはかせが出現します。これを元に戻すには以下のプログラムを実行することで戻すことができます。

21 25 D5 CB C6 C9

使い方

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

📄Arrow icon of a page linkポケットモンスター 赤・緑・青・ピカチュウ バイナリエディタ 使い方

注意

v1.0の場合はボックスに預けているポケモンの5匹目のおやの名前を「がんてじよ」にしてはやぶさバッヂを使うようにしてください。特にボックスを切り換えるとボックスに預けているポケモンが変化してしまうことに注意してください。上記の手順ではやぶさバッヂからバイナリエディタを直接起動することができるようになっていればボックスに預けているポケモンの5匹目のおやの名前は「がんてじよ」になっています。

v1.1~v1.3(VC)の場合はパソコンに預けているどうぐの9番目から11番目を変更しないようにしてください。上記の手順ではやぶさバッヂからバイナリエディタを直接起動することができるようになっていればパソコンに預けているどうぐの9番目から11番目は以下のようになっています。

🔍
9番目のどうぐ:ねむけざまし×98

10番目のどうぐ:モンスターボール×9

11番目のどうぐ:わざマシン33

バージョンに依らずアドレスD5E9~D661はバイナリエディタで編集しないようにしてください。

技術的補足(執筆中)

かいがらバッヂの効果

かいがらバッヂを使うとアドレスD9B2へジャンプします。アドレスD9B2はボックスに預けているポケモンの数を格納しています。アドレスD9B3以降はボックスに預けているポケモンの種族を格納しています。

アドレスD9B2からD9C3までを無害な命令にし、アドレスD9C4以降を18 BEにすることで、かいがらバッヂを使用する際にアドレスD984を実行することができます。18に対応するポケモンの種族はメノクラゲ、BEに対応するポケモンはウツボットとなっています。アドレスD984以降はそだてやに預けたポケモンのニックネームを格納しています。

簡易版バイナリエディタ

説明

簡易版バイナリエディタはhlレジスタが指しているアドレスとその中身を出力するプログラムです。キーの入力でhlレジスタの指すアドレスとその中身を変化させるようにしています。

アドレスDEA4の中身はv1.0ではBF、v1.1~v1.3(VC)ではC0となります。

WRA1:D984 01 E1 D5         ld   bc,D5E1
WRA1:D987 C3 E2 DE         jp   DEE2

WRA1:D9B2 16 A5            ld   d,A5
WRA1:D9B4 A5               and  l
WRA1:D9B5 A5               and  l
WRA1:D9B6 A5               and  l
WRA1:D9B7 A5               and  l
WRA1:D9B8 A5               and  l
WRA1:D9B9 A5               and  l
WRA1:D9BA A5               and  l
WRA1:D9BB A5               and  l
WRA1:D9BC A5               and  l
WRA1:D9BD A5               and  l
WRA1:D9BE A5               and  l
WRA1:D9BF A5               and  l
WRA1:D9C0 A5               and  l
WRA1:D9C1 A5               and  l
WRA1:D9C2 A5               and  l
WRA1:D9C3 A5               and  l
WRA1:D9C4 18 BE            jr   D984

WRA1:DE64 26 DE            ld   h,DE
WRA1:DE66 2E A6            ld   l,A6
WRA1:DE68 AF               xor  a
WRA1:DE69 50               ld   d,b
WRA1:DE6A D6 10            sub  a,10
WRA1:DE6C 32               ldd  (hl),a
WRA1:DE6D D6 B8            sub  a,B8
WRA1:DE6F 50               ld   d,b
WRA1:DE70 32               ldd  (hl),a
WRA1:DE71 CB BE            res  7,(hl)
WRA1:DE73 C5               push bc
WRA1:DE74 E1               pop  hl
WRA1:DE75 50               ld   d,b
WRA1:DE76 CB DD            set  3,l
WRA1:DE78 0F               rrca 
WRA1:DE79 30 07            jr   nc,DE82
WRA1:DE7B 50               ld   d,b
WRA1:DE7C 3E 10            ld   a,10
WRA1:DE7E C3 8E DE         jp   DE8E
WRA1:DE81 50               ld   d,b
WRA1:DE82 0F               rrca 
WRA1:DE83 30 06            jr   nc,DE8B
WRA1:DE85 9F               sbc  a
WRA1:DE86 91               sub  c
WRA1:DE87 50               ld   d,b
WRA1:DE88 C3 8E DE         jp   DE8E
WRA1:DE8B 0F               rrca 
WRA1:DE8C 9F               sbc  a
WRA1:DE8D 50               ld   d,b
WRA1:DE8E 86               add  (hl)
WRA1:DE8F 32               ldd  (hl),a
WRA1:DE90 2A               ldi  a,(hl)
WRA1:DE91 11 E3 50         ld   de,50E3
WRA1:DE94 44               ld   b,h
WRA1:DE95 CD C6 DE         call DEC6
WRA1:DE98 45               ld   b,l
WRA1:DE99 50               ld   d,b
WRA1:DE9A CD C6 DE         call DEC6
WRA1:DE9D 1C               inc  e
WRA1:DE9E 46               ld   b,(hl)
WRA1:DE9F 50               ld   d,b
WRA1:DEA0 CD C6 DE         call DEC6
WRA1:DEA3 CD ?? 50         call 50??
WRA1:DEA6 B3               or   e
WRA1:DEA7 B3               or   e
WRA1:DEA8 0E 0F            ld   c,0F
WRA1:DEAA 07               rlca 
WRA1:DEAB 50               ld   d,b
WRA1:DEAC 0F               rrca 
WRA1:DEAD D2 B2 DE         jp   nc,DEB2
WRA1:DEB0 34               inc  (hl)
WRA1:DEB1 50               ld   d,b
WRA1:DEB2 0F               rrca 
WRA1:DEB3 DA 90 DE         jp   c,DE90
WRA1:DEB6 0F               rrca 
WRA1:DEB7 50               ld   d,b
WRA1:DEB8 D2 BC DE         jp   nc,DEBC
WRA1:DEBB 2B               dec  hl
WRA1:DEBC 0F               rrca 
WRA1:DEBD 50               ld   d,b
WRA1:DEBE DA 2C D6         jp   c,D62C
WRA1:DEC1 0F               rrca 
WRA1:DEC2 D8               ret  c
WRA1:DEC3 50               ld   d,b
WRA1:DEC4 30 B2            jr   nc,DE78
WRA1:DEC6 C5               push bc
WRA1:DEC7 CB 30            swap b
WRA1:DEC9 50               ld   d,b
WRA1:DECA CD D0 DE         call DED0
WRA1:DECD C1               pop  bc
WRA1:DECE A7               and  a
WRA1:DECF 50               ld   d,b
WRA1:DED0 3E 0F            ld   a,0F
WRA1:DED2 A0               and  b
WRA1:DED3 06 C3            ld   b,C3
WRA1:DED5 50               ld   d,b
WRA1:DED6 D6 0A            sub  a,0A
WRA1:DED8 DA DE DE         jp   c,DEDE
WRA1:DEDB 50               ld   d,b
WRA1:DEDC D6 A0            sub  a,A0
WRA1:DEDE 1C               inc  e
WRA1:DEDF 12               ld   (de),a
WRA1:DEE0 C9               ret  
WRA1:DEE1 50               ld   d,b
WRA1:DEE2 30 80            jr   nc,DE64
WRA1:DEE4 50               ld   d,b
バイナリ
D984:
01 E1 D5 C3 E2 DE

D9B2:
16 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 A5 18 BE

DE64:
26 DE 2E A6 AF 50
D6 10 32 D6 B8 50
32 CB BE C5 E1 50
CB DD 0F 30 07 50
3E 10 C3 8E DE 50
0F 30 06 9F 91 50
C3 8E DE 0F 9F 50
86 32 2A 11 E3 50
44 CD C6 DE 45 50
CD C6 DE 1C 46 50
CD C6 DE CD ?? 50
B3 B3 0E 0F 07 50
0F D2 B2 DE 34 50
0F DA 90 DE 0F 50
D2 BC DE 2B 0F 50
DA 2C D6 0F D8 50
30 B2 C5 CB 30 50
CD D0 DE C1 A7 50
3E 0F A0 06 C3 50
D6 0A DA DE DE 50
D6 A0 1C 12 C9 50
30 80 50

参考文献

日本語

英語