Wonderland Seeker

スマホの子はTOPを見てね

【初代ポケモン】なかよしバッヂ導入チャート【任意コード実行】

みなさま、『ポケットモンスター赤・緑・は周知の有名なゲームでしょう。

いまさら概要や攻略は伏せますがこのゲーム、非常にバグが多いことでも有名ですね。

当ブログでも有用性のあるバグに関しては個別に記事があるぐらいです。
気になる方はここをチェック

そのなかでも、ピックアップするのは単なるセレクトバグなどではありません。

なかよしバッヂを入手するまでのチャートです

なかよしバッヂとはなんぞや?という方もいることでしょう。
ひとくちに説明するには筆舌に尽くしがたいのでとりあえず、

このどうぐを使うとチートができる

くらいの気持ちでなんとなくそういうどうぐと思って読み進めてくだしあ。
ルビサファグリ世代のいわゆるGBAポケモン第三世代を発売当初にプレイしていた読者は覚えていますか?

プロアクションリプレイという文明の利器を。

プロアクションリプレイをなかよしバッヂに置き換えてもらうと理解しやすいです。
で、ここから少しわかる人向けに専門用語が入るのですが

なかよしバッヂの効果は0xD983にジャンプする、というものです。

0xD983とは「サファリボールの残り個数」です、まずそこにアクセスします。
初期値=00で30個だと1E(16進数)になります。
その後、順番通り0xD984に処理します。

0xD984とは「育て屋の預けフラグ」
つまり育て屋にポケモンを預けてるか否かです。

預けてないと00、預けてると01です。
そして順番通り0xD985に処理していきます。

0xD985とは「育て屋に預けているポケモンの情報」です。

ニックネーム⇒おや名⇒ID⇒ステータス……と続きますがニックネームから読み込むというのがポイントなのです。
ニックネームにも文字コードが利用されており、その文字コードアセンブラします。
ここのニックネームが【てウん】であれば文字コードアセンブラした結果が

「現在使っているボックスの6匹目のニックネーム」にジャンプするという意味になります。

つまり
「現在使っているボックスのポケモンのニックネーム」
こそがなかよしバッヂを利用した任意コード実行
なのです。

前述のとおり、ニックネームの文字コードを読み取るため、
ニックネームの文字がプロアクションリプレイのPARコードとでも置換してください。

まずはなかよしバッヂを入手しなければここでいくら話をしたところで仕方がないので、
なかよしバッヂのパッチをデータに導入するまでのチャートを紹介していきます。
このチャート通りに手順を踏んでもらえれば

30分でなかよしバッヂ導入トレーナー
になれます。ではどうぞ。

~~~~~~~~~~~~~~~~~~~~~~~~~

 1.ライバルの名前を【?ーロー】にする

f:id:Alice_Wreath:20210912204738p:plain

 

?の部分には、《ギ》《グ》を推奨します。
詳しくはこちらをどうぞ
自分の名前は好きな名前で構いません。

2.IDをチェックする

最近の作品と違いメニューのバッジ画面から見れません、ポケモンから確認します

最速でチェックできるポイントは御三家をもらった直後です

00255、00511、00767……65023、65279、65280~65536

これらの数字でないかどうかチェックしましょう

具体的には、1を足して256で割ると余りが出ない数値です

もし上の数字がIDなら再走して、どうぞ

理由は後述するのでIDチェッカーが通ればライバルとバトってください

負けても勝ってもどっちでもいいのでA連打でいいです

3.ポケモンの手持ち数+1番目の場所のどうぐでセレクトバグを行う

なかよしバッヂは知らずともセレクトバグは知っていますよね。
実行するにはどうぐの種類が2種必要なので集めに行きます。
まずは自分のPCからキズぐすりを入手しておきましょう。
そしてマサラタウンに戻ったら普通の攻略通りポケモンずかんを受け取ります。
そのあとライバルの家でナナミからタウンマップを貰い準備完了です。
ちなみに、おとどけものを貰ったタイミングでも可能です。
その場合はずかんが受け取れず、トキワシティのフレンドリィショップが利用できなくなってしまうので注意。
どうぐを開き、2番目のどうぐでセレクトを押しましょう。

f:id:Alice_Wreath:20210912205713p:plain

そしたらこの場所でエンカウントします。

バトルに入ったらポケモンから御三家でAを押します。
すると御三家が2番目のポケモンと入れ替わります。

f:id:Alice_Wreath:20210912205856p:plain

きゃあ!悲惨!
手持ち+1の番号は⇨やめる で固定されているので やめる(FF)が擬ポケ化された
アネ゙デパミ゙なるポケモンになってしまいます。(ただし中身はィ゛ゃゾ┛A)
戦闘が始まったら、「たたかう」を選んだ後に逃げましょう。

4.ライバルの家から7ばんどうろへワープする

おまえはなにをいっているんだ……?
そう思った読者はまだついていけない健常者なのでブラウザバックしましょう。
では無事勝利したら、マサラタウンへ向かいライバルの家をぐるぐるしてください。
フラグが書き換わった副作用でオーキドがいたり[ は ちからつきた]と表示されますが無視の方向で。

f:id:Alice_Wreath:20210912210142p:plain

 

そのまま85歩数えて、ライバルの家に入ってください
すると・・・

f:id:Alice_Wreath:20210912210159p:plain

 

こうなりましたか?
別の場所にワープしてしまいがち、という方は

ドアの前まで11歩、ドアからドアへ1周20歩と覚えると数えやすいです。

そしてライバルの部屋に入ってしまった方は、
自分のIDが+1すると256で割り切れる数字の方です。
ワープできない理由は

0xD125から0xD1EAの間にFFhが入っていることです

具体的にはこの間にIDの値が参照されます、だから事前に忠告したわけですね。
詳細はこちらへ↓

alice-wreath.hatenablog.com

 

5.イーブイをプログラムにしよう

イーブイのニックネームで任意コード実行の下準備をします。
タマムシに入ったらまっすぐタマムシマンションの裏口へと向かってください。
ポケモンセンターの右手の道から左上に向かって一本道です。
ちなみに、この状態で下のほうへウロウロしたら現世とバイバイすることになるので気を付けましょう。

そしてマンションの右側から入ってください。
左側から入りたい冒険者は直前にレポートしましょうね!

f:id:Alice_Wreath:20210912210452p:plain

ではイーブイをもらいましょう。
ニックネームは【ーーーぐー】あたりでいいです、もちろん理由があります。
その後・・・『!?』となりましたか?
ならなかった方は初めてではありませんね。
イーブイの入手フラグは0xD52Dで管理されているのですが
bitがズレているためイーブイのアイテムボールではなく近くのメタ発言をする方が消されたわけです。
なお、一度出るとRAM領域が正しく書き換わるためもう無限乱獲は出来ません。

f:id:Alice_Wreath:20210912210724p:plain

 

もし隣に友達がいて、
「なにそのネーミングセンス」と言われたら

「プログラムを組んでいる」とでも返してあげましょう。

では付けていくニックネームについて表を用意します
名前間違いする場合が多発すると思いますので1匹ごとにレポートすると確実です

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

↓手持ち

 ーーーぐー ←生贄要員
 がめぜレば ↓任意コード実行用
 レぐガョじ
 づのどの
 てウんのの ←キーパーソン

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

↓ボックスへ転送

※下から順番にニックネームを付けましょう

 

 がめぜワば
 レぐグョじ
 づずづのず
 ばヅダめデ
 の

 ゾキひぢゼ
 ひぢギめな
 ゅぼづにづ
 づの

 ヅばへブゾ
 ブビワくゾ
 ズズワデの

 がめぜワョ
 せぐガづず
 づのずずか
 ぜ ひマじ
 がまづがふ
 ぜのひすョ
 づギかひく
 ゾゾなギガ
 が ひホガ
 ひオぜバガ
 ずずの

※青Verでやる方はがめぇワョ~ずずのは不要です

代わりに
がふぜのョ

ひすづがめ
ぜワせぐガ
づずづのず
ずかゾどズ
ヅクまプズ
ひでデギか
ひくなギび
ひヂゾばゼ
なゅギガガ
ガの

上記のニックネームを用意してください

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

BOXは上から更新されていくので

BOX6匹目に直接ゾキひぢゼを置きたいためこの表の下から
ニックネームをつけていくというのが理由でした。
具体的には手持ち6匹目になる【てウんのの】を入手したあと
ボックスに転送されていく【ずずの】(青なら【ガの】)
からニックネームを付けます。
【がめぜワば】までつけ終わったらもうイーブイには用無しです。
詳細はこちらへ。

手っ取り早く、ただなかよしバッヂの準備だけしたい!
というRTA兄貴は、ボックスの6匹目から
ゾキひぢゼ、ひぢギめな、ゅぼづにづ、づの
まで付けたらOKです。ご自由にどうぞ。

alice-wreath.hatenablog.com

6.世界崩壊の原因を消滅させる

ワープ装置の起動要員でありフラグをずらしていたアネデパミを逃がしましょう。

まっすぐポケモンセンターへ入ったらポケモンを開き、
手持ちの1番上(二足アイコンの空白)がアネデパミなので。

1番下の【てウん】と入れ替えます。
その後、イーブイのつよさをみるかずかんを開いてください。

そしたらボックスにアネデパミを預けて即逃がしてあげましょう。

やめるとなっているのがアネデパミです。

本来やめるが彼の姿なのである意味正しいと言えますね。

やめるは終端なので、以降のすべての情報は表記されません、よって名前が表示されません。

ちなみにここでフリーズするという方は、
アネデパミのニックネーム欄に内部番号00hが入ってること、
終端文字50hが入ってないことによる原因だと思われます。

だから画面を更新するためにつよさをみた訳ですね。

ともかくこれで世界に平和が取り戻されました

そのあとポケモンセンターで回復をしましょう

この回復を忘れると、夜・逃・げでリセット!することになります。

7.どうぐのやめるより下を拡張する

結論から言うと、なかよしバッヂはどうぐのやめるより下に隠されています。
つまり、やめるより下までどうぐを見れるようにする必要がありますね。
そのためには13番目でセレクトバグをしなければいけません。

原理はこの記事に任せて、とにかく13種類どうぐを集めにいきましょう。
まずは7ばんどうろ左下のちかつうろへ入ってください。

そしてこう!

f:id:Alice_Wreath:20191003041659p:plain

 

 

左上の角に立って
↓に1歩、→に9歩進んで
A!





そしたらタマムシデパートでお買い物をします、2Fに行きましょう。
そしてこのリスト通りに買ってください。左の店員です。
最初にきんのたまを売り払ってから買いましょう。

・ スーパーボール×1(道具の3つ目)
・ いいキズぐすり×1(道具の4つ目)
・ げんきのかけら×1(道具の5つ目)
・ シルバースプレー×1(道具の6つ目)
・ どくけし×1(道具の7つ目)
・ やけどなおし×1(道具の8つ目)
・ こおりなおし×1(道具の9つ目)
・ ねむけざまし×1(道具の10つ目)
・ まひなおし×1(道具の11つ目)

お買い物できたら屋上まで行きましょう。

自販機でおいしいみず(道具の12つ目)を2つ買います 。
うち1つは幼女ちゃんにプレゼントしましょう。
わざマシン13(道具の13つ目)をくれます。その後エレベーターでデパートから出ます。
お次はこちらの食堂に訪問します。

f:id:Alice_Wreath:20191003042516p:plainf:id:Alice_Wreath:20191003042532p:plain

コインケースをもらったら14種類のどうぐが手に入ります。
また、この手順でどうぐを入手すれば、

わざマシン13が上から13番目に配置されます。

ヤマブキゲートの警備員においしいみずを渡したりしないようにしてください。
おいしいみずが無くなってズレてしまいます。
別に警備員に話さずとも、壁抜けで解決しますので。
ではスロットセンターへ遊びに騒ぎましょう。

f:id:Alice_Wreath:20191003042921p:plain

f:id:Alice_Wreath:20191003042931p:plain
これにて回収は終わりです。お隣の交換所でケーシィを入手します。

f:id:Alice_Wreath:20191003043054p:plain

赤・青Verだと必要なコインが増えているため、スロットの前のNPCに話しかける+床に落ちているコインを拾って150(赤なら180)になるようにしておきましょう。

これで13番目セレクトバグの準備OKです。
7ばんどうろへ向かいます。
どうぐの13番目でセレクトを押したらエンカウント。
わざマシン13が13番目に配置されているはずなので間違えないはずです。
バトルに入ったらポケモンから【ーーーぐー】にA
するとアネデパミが出たのと同じ原理で、

13番目のポケモンと入れ替わります
即座に逃げたら、どうぐを見てみましょう。
1~2番目のどうぐが変わり、そして下にスクロールするとやめるより下にいけることも自分の目で確認しましょうね。

どうして拡張されたの?という原理ですが

こちらの記事をお読みください。

8.やめるより下のどうぐを発掘しよう

ではポケモンセンターに入りましょう。
入ってすぐにメニューからせっていを開きます。

f:id:Alice_Wreath:20191003045059p:plain

こう設定したら、どうぐを開きます。

このとき前提として覚えておきたいのは
3番目~20番目のどうぐは本来の手持ちです
1~2番目およびに21番目より下のどうぐは
もう1度13番目セレクトバグを戻すと元に戻ります

f:id:Alice_Wreath:20191003045517p:plain

1番目のどうぐがふしぎなアメになっていますね?
このアメはこおりなおしあたりとでも入れ替えておきましょう。
手持ちに入ります。

そして23番目、24番目のどうぐに注目です。

23番目のじてんしゃor?????を3番目のスーパーボール
24番目のにゅうりょくを4番目のいいキズぐすり
あたりと入れ替えておきましょう。

そして26番目がマスターボールとなっています
これを1つだけ捨ててください

その後バッジを確認してみましょう。

戦わずしてバッジ全入手です

9.なかよしバッヂ、ゲットだぜ!

ようやく入手するフェイズまで来ましたね。

いちいち挟んでいる説明などすっ飛ばして進めれば15分で出来ます

では、タマムシマンションの裏口よりもさらに左、
デパートの屋根まで走りましょう。

f:id:Alice_Wreath:20191003053153p:plain

 

ここから、にゅうりょくをつかいます
画像の場所に立ったら
にゅうりょくをつかい

ポケモン画面はBでキャンセル
すると壁抜けモードになります。

 

 

そして画像のとおり、左に進みドンとぶつかったら下へ進みます。ドンとぶつかったらメニューからずかんorポケモンを見ます。

すると

f:id:Alice_Wreath:20191003053741p:plain

この場所まで壁抜けが出来ます。
では、どうぐを開き31番目までスクロールしましょう。

途中で方向キーが反応しなくなったらそれは
セリフ送りを求めてくる文字コードが入っているどうぐがあるからです。

Bボタンを押せば↓方向に動きます。

f:id:Alice_Wreath:20191003053937p:plain

なかよしバッヂとの出会いです
手持ちのいらないどうぐ、ねむけざまし辺りとでも入れ替えます。

そしてケーシィ入手を忘れた方、もしくはポケセンで回復しなかった方へアナウンス

詰みます

試しに右に一歩歩いてからメニューを開きましょう。

f:id:Alice_Wreath:20191003054300p:plain

異次元に追放されてますね完全に。

ここでテレポートをつかってタマムシまで帰還しないといけません。
さて、もちろん疑問ですわよね。

どうして、なぞのばしょにワープしたの?

まず、なかよしバッヂがある場所はどうぐの31番目でした。
では31番目のどうぐは一体どこを管理してるのか?

31番目のどうぐは、マップの座標と制御を指定しています。

そのためマップを歩くごとにどうぐが変動していきます(具体的には2*2の4マスごとに)

なのでワープしてあるわけではありません、タウンマップをみれば分かります。
ちなみに本当にワープするのは

戦闘中に30番目のどうぐの個数を変えたり、32番目のどうぐの種類と個数を変えた場合などです。

あ、いま興味本位でいじろうと思いましたね?
マップの内部番号をbit単位で把握してない限りやめましょう、警告はしましたよ?

話がズレましたが画像の場所で主人公がいるマップ座標の指定先が67なので、対応するどうぐコード67のなかよしバッヂが出てきたということです。
では、入手も済ませたところでテレポートしたら13番目セレクトバグを行いトリガーをもとに戻しておきましょう。

f:id:Alice_Wreath:20191003055459p:plain

ちなみにありす*のトリガーはいいキズぐすり×1と交換したので
対応する文字コードになりました。

※ゼ=0D(いいキズぐすり) イ"=01(個数)

10.パッチをデータに適合させる

さて、ふしぎなアメ×227、のりもの227台(そんなにいらない)、壁抜けアイテム

そして念願のなかよしバッヂを手に入れたぞ!というわけですが、いま使うと参照する値にアクセスした時メインメモリを破壊しフリーズします。

なぜなら育てやに預けていないので情報がないため
D986以降までアクセスされるからです。

なのでサファリゾーンへ行きましょう

じてんしゃがなくても、左キー押しっぱなしで警備員を無視してサイクリングロードへ入ることができます

サファリへ入ったらすぐに出て、テレポートで脱出します

経営側からすると役得のカモですね

↑赤文字の部分は、任意です。念のために石橋を叩きたい方は実施してください。

 

その後、ヤマブキ経由でハナダの育てやへと向かいましょう。

段差を壁抜けして育てやに来たら【てウん】を預けましょう。

f:id:Alice_Wreath:20191003060859p:plain

これで【てウん】にアクセスするようになったため

なかよしバッヂは
「現在使っているボックスの6匹目のニックネーム」
にジャンプするという意味になります。
そしたらすぐに引き取って、はじめての任意コード実行をしちゃいましょう。

本当にはじめて使うという方はどうなるかワクワクしましょう。

どうなるか知ってる方はフリーズしてニックネームか順番間違えたぁ!ってなれば面白いですきちんとてウんが6匹目かチェックしましょう。

f:id:Alice_Wreath:20191003061349p:plain

はい、こうなりましたか?なってない方はボックスの6番目を見てきましょう。
そしてもう一度育てやに預けます。

f:id:Alice_Wreath:20191003061510p:plain

すると【てEんのの】と発音するということを教えてくれましたね。

HPバーにも読み方があったのか
あとは引き取っても構いません。

サファリボールの残り個数が30=1EなのでEレジスタに即値として読み取るので育て屋に預けているかどうかをスキップして、

最後に預けた情報が【てEん】となるため

現在使っているボックスの1番目のニックネーム
からコードを読み取るように書き換わりました。

なお、育てやに別のポケモンを預けてもいいですが
その後再び【てウん】を預ける手間を忘れずに

あとはボックスの2~5あたりに構築されたニックネームのイーブイを投げ込むだけで自由に任意コード実行を行えるようになります。

チャートは以上です。

ボクのおすすめは、このあと

・戦闘画面に入らずして直接ポケモンを手持ちにくわえるコードを用いて、好きなポケモンを手持ちにそろえる(中にはフリーズするポケモンもいます、こちらからご確認ください)

alice-wreath.hatenablog.com

・技を自由に変えるコードで、《そらをとぶ》《あなをほる》《テレポート》の3つを獲得したポケモンを作成

そらをとぶ》は19、《あなをほる》は91、《テレポート》は100です。
100個にしたどうぐから順に捨てていくとスムーズです。

わざマシン01~50をそれぞれ作成して順番に、じぶんのパソコンへ預けておく
↑こうしておくとじぶんのパソコンからセレクトバグを行うときに便利です。

任意コード実行の一覧はこちらから

 

また、ご自身で任意コード実行を新たに構築したいというプログラマーの方は、
こちらのページが非常に有用ですので是非ご閲覧ください。

---08/29追記---

【てEん】を預けている場合、《あなをほる》もしくは《あなぬけのヒモ》を使用すると、サファリボールの個数が0に戻ってしまい起動しなくなるため、その場合はサファリゾーンに入って、30個に戻しておきましょう。
もしくは【てEん】を預けてすぐに引き取ることで、サファリボールの個数が0のままであっても起動することができます。

今回はここまでになります、ありがとうございました。

EXIT

f:id:Alice_Wreath:20191003063257j:plain

 鳩羽つぐちゃんってVtuber界のバグポケモン感あるよね