とあるスレッドでポケモン金銀版バイナリエディタを作りましたっていうのを貼らせていただいたのですが、訂正が多すぎてよく分からなくなってしまいましたので、この場に書かせていただきたいと存じます。
この記事は、ポケモン金銀における任意コード実行についての物ですが、実行の環境を整える(たいせつなものポケットに技マシン17が入った状態で、ヌオーやらアンノーンやらというやつです。)までの手順は、他の方が説明している通りなので、割愛させていただきます。
この記事を閲覧するにあたっての注意ですが、例えばプログラムの打ち込みなど、これが最善の方法というものではなく、僕が任意コード実行でバイナリエディタを起動したまでの過程について書かせていただくものなので、ご了承ください。また、もっと良いプログラムのアルゴリズムがあるだろっていうことがあるかもしれないですが、それについては許してください。。。
あと、ブログはこの記事が初めてなので、レイアウトは恐らく最悪です。
検証して壊れてないので大丈夫だとは思いますが、一応バグなので、
自己責任でお願いします。また、先に言っておきますが、書ける場所がほかに見当たらなかったため、アイテム欄、技マシン欄、ボックスのアイテム欄に書きます。だから、ストーリーが終わってやることがない人推奨です。(新しいアイテムが手に入ると、バイナリエディタが起動できなくなる可能性があり、また打ち込まなくてはいけないから。)
~打ち込み準備~
STEP1
本題です。まず、プログラムの打ち込み準備です。
ボックスからプログラムを起動しました。
ボックス名 box1ヅッゆョべデドプ box2ドデのののののの
このプログラムは、アイテム1の個数とアイテム2の個数を255個にするプログラムです。
これを打ったら、とりあえず、アイテムを3種類以上255個にしててください。
255個というのは、16進数でFFなので、最大の個数です。
STEP2
次にプログラムを打ち込むためのプログラムをボックスに書きます。
ボックス1,2も書き換えちゃっていいです。
ボックス2は伸ばし棒で書きましたが、何でもいいです。
ボックス名
box1ョぐダbox2ーーーーーーーー
box3ヅュゆビぺぽブプ box4ブビぺなゅドドプ box5ドドビづョべデプ box6ブブビぶデたブプ box7ブゆゅどのののの
このプログラムは、
①
アイテム1の個数とアイテム2の個数で、打ち込み先のアドレスを指定して、アイテム3の個数を代入します。②
その後、アイテム2の個数を+1します。アイテム2の個数が255個から+1されたら、繰上り的な感じで、アイテム1の個数が+1されて、アイテム2は0個になります。③
さらに、アイテム3が255個になります。例えば、アドレスD8B2に11打ち込みたいときは、アイテム1を216(16進数でD8)個、アイテム2を178(16進数でB2)個、アイテム3を17(16進数で11)個にして、技マシン17を使えば、アイテム1が216個、アイテム2が17
9個、アイテム3が255個になります。
文字化けしてるので、注意して捨てて数を合わせる必要があります。
今回の場合は、アドレスD8BBから連続で書き込みたいため、
最初に、アイテム1を216個、アイテム2を187個にして、アイテム3の個数を以下の順にして、技マシン17を起動してください。
33 172 213 61 34 35 119 201
こうすることによって、D8BB、D8BC、という感じに順に打ち込まれていきます。
これを打ち終えたら、ボックス2の名前が「
あ゛ッゆべた!こうげき━の」になります。
このプログラムは、後に説明するボックス1のプログラムと合わせて使うことで、
アイテム1と2が255個になります。STEP3
ここまでいったら、もう打ち込み準備が終わったようなものです。
box1ョぐギ
なら、アイテム1と2が255個に、
box1ョぐダ
なら、先ほどの打ち込みプログラム起動です。
~打ち込み~
以下の画像のように、書いてあるアドレスに、書いてある値を入れてください。
一応16進数版
10進数版
空白は何でもいいですが、斜線部分に関しては、打ち込まないでください。
box1てザよ
でバイナリエディタがでます。
プログラムの都合で技マシン17を使ったあと、十字ボタンを押さないと表示されません。ご注意ください。
最後に
操作は、十字ボタンで選択中アドレス変更、A+十字ボタンで選択中アドレスの値を操作、B+十字で選択中アドレスの上位バイトを変更、STARTorXで選択中アドレスからプログラムを起動、SELECTでバイナリエディタ終了です
。A~Cの文字は文字のデータが入っていないので、違う文字で代用しています。■がA、▲がB、📱がCです。
貯金を0円にして、貯金をしないようにすること推奨です。お母さんに新しくアイテムが買われると、バイナリエディタが起動できなくなるためです。
また、バイナリエディタで、上記のアドレスの中身を変えたら、プログラムが変わってしまって、挙動がおかしくなったり、フリーズしたりします。気をつけてください。
参考にしたサイト
https://blogs.yahoo.co.jp/qawsedrftgyflanlp/17399104.html