fc2ブログ

記事一覧

Em任意コード実行に向けたザロクバグの解説

現在、ブログでのコメントの返信は停止しております
返信を希望されるコメントについてはお手数ですがYouTubeの当方のチャンネルに投稿されている適当な動画に書き込みくださいますようお願いします


実践動画↓

【バグポケモン0x085Fの作製】
HN「ぼんじり」さんが発見されたEmの最新の任意コード実行法に必要なバグポケモンである0x085Fを、ザロクバグを利用して作製する方法について具体的に解説する。
今回は、バグ未実施の素データの状態からの開始を考慮し、タマゴバグの際は簡易ザロクバグではなく通常のザロクバグの利用を前提とする(勿論0x4360を入手済みなら簡易ザロクバグを利用してもよい)。

尚、0x085Fの概要及びその任意コード実行法についての詳細はぼんじりさんのブログを参照していただきたい。
https://bzl.hatenablog.com/entry/2019/09/23/200113



まず、解説に登場する用語について軽く説明する。

◆ザロクバグ
ザロクの実のH努力値下降効果により最大HP及び現在HPが減少する効果を利用して、ザロクの実を与えたポケモンの現在HPを0以下にするバグ。
ザロクバグを行うポケモン以外に戦闘可能なポケモンがいない場合、手持ちを全て瀕死(戦闘不能)の状態に出来る

◆破損バグ
ザロクバグにより特定の手順で手持ちを全て瀕死(戦闘不能)の状態にしてから戦闘を行うと、内部値オール0のバグポケモン(けつばん)が味方として出現する特殊な戦闘が開始する。
この時、手持ち欄を見ると手持ち1番目が空白になっており、この状態で特定の操作をして十字ボタン↑を押すと、ボックスのポケモンやバッグの中身、その他フラグ等の凡ゆるデータに干渉して変化(破損)を生じさせる
これを破損バグという。

◆タマゴバグ
破損バグによりボックスのポケモンのデータに破損が生じることで、そのポケモンがタマゴやダメタマゴへと変化するバグ。
タマゴに変化するのはそのポケモンの性格値または裏IDが破損した場合のどちらかで、特に性格値が破損した場合はポケモンの構成データの入れ替わりが起こり、元のポケモンとは全く異なるポケモンのタマゴへと変化する

◆材料ポケモン
タマゴバグにおいて、タマゴに変化させる対象となるポケモン。
材料ポケモンがどのような構成データの入れ替わりを遂げるかは、そのポケモンの性格値によって決まる。
NPCとの交換で手に入るポケモンの性格値は固定なので、変化の仕方も確定しており再現性がある

◆補助ポケモン
タマゴバグにおいて、材料ポケモンをタマゴに変化させる確率を高める存在のポケモン。
材料ポケモンの左隣に配置することで、その材料ポケモンに対して効果を発揮する。



以上を踏まえて、まずはタマゴバグでバグポケモン0x085Fを作製する為の準備をしていく。

今回は材料ポケモンとして、NPCとの交換で手に入るタネボー(NN:セブン)を使用する。
セブンは、カナズミシティポケモンジムの右隣にある建物の中にいるNPC(TN:マッチャン)にラルトスを渡すと交換出来る。
202005170139142ab.jpeg
カゴの実を持っているので外しておく。

このセブンをバトルタワーの通信マルチのコピーバグで増殖する
材料ポケモン用と補助ポケモン用の他、もしもの時のバックアップ用に3匹以上は増殖させておくこと。

増殖したセブンの内1匹に、努力値をH95 A8と振る。
マックスアップを9個与え、101番道路に出現するケムッソとポチエナを倒して残りの端数分を振ると早い。
このセブンを材料ポケモンとする。
20200517013915fd2.jpeg
この材料ポケモンの努力値振りが0x085F作製のキーとなるので、努力値振りは絶対にミスがないよう慎重に行うこと。
手持ちにはポケルス感染ポケモンを入れておかないようにすることが望ましい。

別のセブンにS努力値10振り、ダーテングに進化させる。
この際、HAB努力値は0のままになるよう注意すること。
因みに、コノハナにはLv14で進化し、ダーテングにはリーフの石で進化する。
このセブンを補助ポケモンとする。
20200517013919dbc.jpeg
補助ポケモンは必須ではないが、用意した方が成功率が若干高くなる。


次に、ザロクバグを行うのに必要な以下のものを用意する。

・ザロクの実
・瀕死ポケモン(瀕死要員)×2
・呪いを覚えたゴーストポケモン(ザロク要員)
・マックスアップ


ザロクの実は、119番道路や123番道路に自生する木から収穫したり、木の実名人やキリから貰うことが出来る。
20200526074251834.jpeg

瀕死要員は、種族等は一切問わないので適当なポケモン2体を瀕死にすればよい。
自爆や置き土産等の自滅系の技を覚えるポケモンがいると能動的に瀕死に出来るので調達し易い。
特に、置き土産と各種秘伝技を覚えるラティオスがオススメ。
2020051701392291b.jpeg

ザロク要員は、ゴーストタイプで呪いを覚えたポケモンであれば何でもよい。
オススメは、送り火山や121番道路に出現するカゲボウズで、野生出現の時点で呪いを習得している。
20200517013917237.jpeg

このザロク要員に、最大HP奇数になるまでマックスアップを与える
20200517013924ebb.jpeg
元から奇数であった場合、次の奇数に上昇するまでマックスアップを与え続けること。


ここから、ザロクバグを実践し、タマゴバグにより材料ポケモンのセブンを0x085Fのタマゴへと変化させていく。

まず画像のように、材料ポケモンと補助ポケモンのセブンを増殖させ、ボックス2の1〜24番目に交互に配置する。
202005170139202bc.jpeg
ただし、これだけ配置しても実際に成功するのは24番目の材料ポケモンであることが殆どなので、面倒であれば配置する数を減らしても構わない。
因みに、破損の進行は24番目付近のポケモンから降順に開始される。

次に、手持ちの1〜2番目に瀕死要員、3番目にザロク要員を配置し、4〜6番目は空きにする。
瀕死要員2体を瀕死にしておき、ザロク要員の現在HPを1に調整する。
20200517013925d30.jpeg
ザロク要員の現在HP調整は、101番道路の野生戦にてザロク要員を選出し、呪いを計2回使用させる方法が最も効率が良い。

手持ちとボックスを上記の状態に整えたら、101番道路に行き草叢付近でレポートを書く。

そして、そのまま草叢に入り野生ポケモンとエンカウントし、何もせずそのまま逃げる。
2020051701392654a.jpeg

コトキタウンのポケセンに入り、手持ちの瀕死要員1体をボックスに預ける。
手持ちが2匹だけになるので、その状態でザロク要員にザロクの実を与える。
すると、ザロク要員の現在HPは0となり、手持ちが2匹共に瀕死の状態となる。
20200517013929074.jpeg

この状態で再び101番道路に行き、再度野生ポケモンとエンカウントする。
すると、戦闘には?状のバグポケモン(けつばん)が出現する。
202005170139284be.jpeg

手持ち選択画面を見ると、1番目が空きになっており、2〜3番目に瀕死ポケモンがいるので、一旦手持ち2番目にいる瀕死要員の強さを見て直ぐ戻る
20200517013931552.jpeg

Bボタンで手持ち2番目の選択を解除し、そのまま手持ち選択画面上で十字ボタン↑2〜3秒間長押しする(ここで長押しする時間があまりにも長いと思わぬデータに破損が及ぶ恐れがあるので注意が必要)。

Bボタンで戦闘画面に戻り、そのまま逃げてポケセンまで戻る。
逃げるを選択すると、敗北扱いとなり所持金が半減してしまうが、最後に訪れたコトキタウンのポケセン前まで手持ちが全員瀕死の状態(再度破損バグを行える状態)のまま自動で戻ることが出来る。
一方エネコの尻尾等を使用して逃げると、正常に戦闘を離脱することが出来、所持金も減らず手持ちも全員瀕死の状態のままなので、そのままポケセンまで手動で戻る。

ボックスを開き、材料ポケモンのセブンの状態を確認する。
セブンの状態は以下のどれかである。

①:タネボーのまま
②:ダメタマゴ
③:ネストボール入りタマゴ
20200517013934d86.jpeg
④:プレミアボール入りタマゴ
20200517013932201.jpeg

この内、成功の状態であり、1つでも③が生成されていたらレポートを書いて次の手順へと進む。

③が1つもなければ失敗で、リセットしてレポートを書いた所からやり直しとなる。
ただし、もし①が多く残っていたり④が多く生成されていたら、もう一度草叢に戻りタマゴバグをやり直してきてもよい。
特に④にもう一度タマゴバグを行うと、ダブルコラプションという現象が発生して0x085Fを直に入手出来る可能性があり、後述の手順を一切省略して入手終了となる。


無事成功のタマゴを入手出来たら、このタマゴの孵化作業に入る。

0x085Fの孵化に際し、予め以下の準備をしておく。

・ボックス12の12番目からボックス14の30番目までを全て空きにする

・ボックス名を以下のように変更する
ボックス名1:[いぶたぃ び]
ボックス名2:[アアアyコくく]


上記を満たしていない状態で0x085Fを孵化すると、フリーズしたり思わぬデータに破損が及ぶことがあるので注意が必要。

準備を終えたらタマゴを手持ちに加え、適当に歩き回って0x085Fを孵化させる(孵化歩数約1536歩)。
20200517013939664.jpeg
0x085Fが孵化する際のフィールド画面から孵化ムービー画面に移行するまでの暗転時間は毎回異なり、長い時は1分近く暗転したままとなるが、取り敢えず待機する

無事に孵化ムービーがスタートとすると、タマゴからけつばん形のバグポケモンが孵るので、これが0x085Fである。
20200517013935e1f.jpeg↑0x085Fの孵化時の色は毎回異なる
そして0x085Fが孵化して間もなく、孵化ムービーのBGMが流れたままフィールド画面に戻るので、一旦レポートを書きそのままリセットする。
孵化直後はデータが荒れているので、一旦リセットすることで荒れたデータを回復出来る。


こうして、0x085Fを入手することが出来る。
20200517013937960.jpeg↑ボックス上で種族名が[あ▼]と表示されていれば0x085Fであると同定出来る

0x085Fによる任意コード実行の成功率は100%なので、0x085Fの入手に成功してしまえばEmの任意コード実行環境がほぼ整ったも同然となる。
また、FRLGでの任意コード実行環境を整備するのにEmでの任意コード実行が非常に役立つので、FRLGで任意コード実行をしたい場合にも0x085Fの入手は必要不可欠となる。

後は任意コード実行の自由度をより高める為の環境整備(汎用コード環境の導入)を行えば、任意のポケモンの錬成やアイテムの入手、TNやIDの変更、セーブデータの複製などなど、凡ゆるコードをボックス名の変更だけで実行出来るようになる。
汎用コード環境の導入手順についてはこちらを参照。
スポンサーサイト



コメント

久しぶりの投稿嬉しいです。
これからもエメラルドが楽しくなるバグを見つけてください!

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

他のボックスの名前を変える必要はありますか?
これはラフレシアのバグ技でできるものですか?

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

0x085fの作成方法を詳しく解説して欲しいです。

ぼんじりさんのブログをみるとセブンの努力値が書いてあるのでそちらを参考にするといいですよ

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

任意ポケモンイベント入手

いつもブログを楽しく拝見させていただいております。
任意ポケモンイベント入手のところですが、
例にあるセレビィの生成例にて
[さ ]のところは0x000Bに対応している気がしています
0x001Bに対応しているのは[ひ ]ではありませんか?

No title

PID破損(ネストボール入りタマゴ)から孵化でやろうとすると回避条件満たしてても画像と色の違う(茶色やピンクの)バグポケが生まれてフリーズしましたが、プレミアボール入りタマゴからダブルコラプションで生成したらフリーズ回避して入手できました。
セブンはゴニョニョ1回倒した後ポケルス+きょうせいギプスで努力値振ったのでもしかするとポケルスが関係しているかもしれません。

条件揃えてもネストボールタマゴが必ず孵化時にフリーズするのですが、別のROMに輸送したら、そっちでは問題なく孵化できました。型番や性別が関係しているんですかね。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

なぜか生成したタマゴがマスターボールに入っていたのですがこれは失敗でしょうか?

承認待ちコメント

このコメントは管理者の承認待ちです

コメントの投稿

非公開コメント