バイナリエディタ導入 毒サファリ・いあいぎりルート ピカチュウ版

はじめに

以前ピカチュウ版のバイナリエディタ導入に関するチャートを 2 つ程紹介させていただきました.

1 つ目の記事ではレポートバグを使用するためさいしょからにする必要があり,2 つ目の記事ではトキワのもりにいるトレーナーに対して fifth 法を行うためそのトレーナーを倒していると実行できないという欠点があります.そのため冒険の途中からでもバイナリエディタを実行できるようにするというのが今回の記事の目的です.

冒険の途中から任意コード実行環境を構築する方法として最近 (2023/02/03) まへっちさんが以下の記事を出していました.

これらの方法は通信交換できることが前提となっています*1

しかし通信交換をしなくても「毒サファリ・いあいぎり」を行うことでパソコンの道具欄を拡張しはやぶさバッヂを入手することができるというやり取りを見かけました.

そこでこの「毒サファリ・いあいぎり」を用いてバイナリエディタを導入したいと思います.

「毒サファリ・いあいぎり」によるかいがらバッヂ入手

「毒サファリ・いあいぎり」を用いてかいがらバッヂを入手するための手順を述べます.

準備

  1. PCに道具を50種類 (満タンまで) あずける.
  2. コインの枚数を 63 枚にする*2
  3. 毒状態かつ残り HP わずかなポケモン
  4. いあいぎりを覚えたポケモン (ひんし状態)*3
  5. そらをとぶかテレポートを覚えたポケモン (ひんし状態)*4
  6. セキチクシティのポケモンセンターで回復してリスポーン先にしておく.

手順

  1. サファリゾーンに入ってから受付に戻り捕獲ゲームを終えるかどうかの質問にいいえを選択してからレポートとリセットをする.
  2. 受付に戻ると捕獲ゲームを終えるかどうかが聞かれなくなるのでそのまま下から脱出する (捕獲ゲームに参加するかどうか聞かれるが参加しないで脱出する).
  3. 手持ちを毒状態かつ残り HP わずかなポケモンとひんし状態のひでん要員だけにする.
  4. 残り歩数 0 のアナウンスのタイミングで段差を降りて,ジャンプ中に呼び出される.
  5. 壁貫通モードになるので,受付内でしばらく歩いて毒全滅する.
  6. 壁貫通モードのままセキチクシティのポケモンセンターにリスポーンするので,そこから下に 8 歩,左に 96 歩,上に 99 歩歩く.
  7. いあいぎりの木があるので切る.
  8. テレポートかそらをとぶで帰還.

これで PC の道具欄のやめるよりも下にカーソルを動かすことができます.PC の道具欄の 54 番目にかいがらバッヂがあるのでそれを引き出すことでかいがらバッヂを入手することができます.

バグマップにある木を切ることでメモリを書き換えることによって PC の道具欄を破壊しているようです.この記事を読んでみると分かるかもしれません.
https://glitchcity.wiki/Glitch_City_RAM_manipulation_(Cut_abuse)

簡易版バイナリエディタ

かいがらバッヂを入手した後は以下の手順を踏むことで簡易版バイナリエディタを起動させることができます.

  1. 育て屋にニックネーム「ゃわてょん」のついたポケモンを預ける.このポケモンは預けっぱなしにしてください.
  2. ボックスの中身を以下のようにする.23匹以上は預けないでください*5
  3. かいがらバッヂを使用する.
番号 種族 ニックネーム
1 コラッタ がんぜレョ
2 コラッタ よヂづよく
3 コラッタ づにゲづな ← v1.0 の場合は「づにグづな」
4 コラッタ ゅョダだグ
5 コラッタ ぼヂてツん
6 コラッタ ダだグぼダ
7 コラッタ ぞてツんダ
8 コラッタ だガムキづ
9 コラッタ ごぱへぬん
10 コラッタ ぴへぬんボ
11 コラッタ ぷへぬんへ
12 コラッタ うううヅー
13 コラッタ ひ空はうん
14 コラッタ どダれナん
15 コラッタ ダめせんざ
16 コラッタ ダれゃわダ
17 コイル りだあなレ
18 メノクラゲ ひだへむん
19 ウツボット ちぼダメに
20 (任意) にルだガに
21 (任意) にヂ空ギて
22 (任意) ぐアボデの

コラッタの代わりにポッポを使用しても大丈夫です.なので 1 ばんどうろで乱獲するのが良いかと思います.
コイルは 10 ばんどうろの草むらで,メノクラゲは 19〜21 ばんすいどうで出現します.
ウツボットは 12〜15 ばんどうろで出現するマダツボミ or ウツドンを進化させると良いです.リーフのいしタマムシデパートで買えます.

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

以下の操作方法でアドレスとその中身を書き換えることができます.
操作方法

A: アドレス+1h
B: アドレス-1h
↓: 中身+1h
↑: 中身-1h
→: 中身+10h
←: 中身-10h
Start: 終了
Select: DCE0 からプログラムを起動

Select はバイナリエディタのプログラムを入力し終えるまで押さないでください.

バイナリエディタを実行するまで

以下の URL にあるプログラムを入力してバイナリエディタを作りましょう.
memory_editor.asm · GitHub
簡易版バイナリエディタを使って DCE0 から DD58 のアドレスの中身をリンク先のものに書き換えてください.

ただし DD17 の中身は v1.0 の場合は 3F に,それ以外のバージョンの場合は 40 にしてください.書き換えたら一回 Start で終了してセーブしておくと良いかもしれません.書き換えをした後に Select を押すとバイナリエディタが起動できます.

バイナリエディタの操作

↓: アドレス+1h
↑: アドレス-1h
→: アドレス+10h
←: アドレス-10h
B+↓: アドレス+100h
B+↑: アドレス-100h
B+→: アドレス+1000h
B+←: アドレス-1000h
A+↓: 中身+1h
A+↑: 中身-1h
A+→: 中身+10h
A+←: 中身-10h
SELECT: 指しているアドレスを実行
START: 終了

簡易版バイナリエディタよりも操作できることが増えて快適になるかと思います.

「SELECT」は不用意に押すとフリーズする可能性が高いので気をつけましょう.
慣れてないうちは「SELECT」はないものと思って良いかもしれません.

仕上げ操作

バイナリエディタを再び起動する際はかいがらバッヂで簡易版バイナリエディタを起動してから Select を押すことになります.毎回簡易版バイナリエディタを経由するのも面倒なのでかいがらバッヂを使用することで直接バイナリエディタを起動できるようにします.
D9B2 から D9B6 の値は

16 A5 A5 A5 A5

になっていますがこれを

1E A5 C3 E0 DC

に変更をしてください*6

謝辞&参考

今回の毒サファリ・いあいぎりルートの記事を書くきっかけはまへっちさんと junin さんの Twitter でのやり取りでした.
個人的には junin さんの以下のツイートが結構感動しました.簡易版バイナリエディタを作る際にもこれを活用させていただきました.
また毒サファリ・いあいぎりの手順につきましてはオーキドせんせい研究者さんに色々教えていただきました.ありがとうございました.

*1:これらの記事を元にバイナリエディタを導入する手法を考案したのですが,通信ケーブルを使った任意コード実行の開発が 2023/02/09 現在ア▶イスさんにより行われていてそちらを待った方が良さそうと感じたため記事にする予定は今の所ないです.

*2:65 枚にするとはやぶさバッヂを入手することができます.

*3:毒状態かつ残り HP わずかなポケモンがいあいぎりを覚えていても良いです.

*4:毒状態かつ残り HP わずかなポケモンそらをとぶかテレポートを覚えていても良いです.またいあいぎりを覚えているポケモンと同一の個体でも良いです.

*5:実際には預けているポケモンの数が 24, 25 匹でなければ大丈夫です.

*6:直接バイナリエディタを起動するだけなら D9B2 の値を変える必要はないのですが D9B2 を 1E にすることでボックスに預けているポケモンの数が 30 となるため間違えてポケモンを預けてバイナリエディタのプログラムを壊すのを防いでいます.