【任意コード実行】エメラルドで色違いA05Vミュウを出した話【ザロクバグ】
友人からも誕プレ貰いました!マジでありがとう… pic.twitter.com/EM2MmQRCiS
— skeb,依頼絵,原稿(複数)🍜 (@surface_tremble) 2021年7月17日
Happy Birthday 俺。一週間前だけど。
友達から誕プレでエメラルドを貰った(マジでありがとう)ので以前からやってみたかったザロクバグを用いての任意コード実行。
ザロクバグとか任意コード実行って何って話は特にするつもりありません。ただそこそこ分かる人用の記事かも。
僕はこの動画とこの動画の概要欄に記載してあるブログで全て理解しました。やってみたい方はこの動画と概要欄記載の記事を参考にしましょう。
きまぐれA05V色ミュウです、対戦ありがとうございました pic.twitter.com/5i8hFAv5Hu
— skeb,依頼絵,原稿(複数)🍜 (@surface_tremble) 2021年7月19日
んでこれが成果です。やったね。
ってことでこれを出した所感を軽く述べておこうかなと思います。
実際難しそうに見える一連の作業ですが、個人的に難しいなぁと思った点はザロクバグでネストボール入りの卵を生成するところのみです。
そこだけどうしても運ゲー要素があり、正しい手順でやっていてもあってるのか不安になる部分でした。結果として合ってましたが、まあやるならちゃんと24~1交互にタネボーとダーテング並べたほうがいいと思います。
本当それくらいで、あとは注意深く正しい手順を踏んでいけば大丈夫だと思います。
解説動画及び記事では表ID12345の色陽気C05Vミュウを出していましたね。
自分は表ID00000の色きまぐれA05Vミュウを出したかったので別途計算しました。
ここで目的の個体(メソッド1の個体)から目標乱数値を計算、その目標乱数値から1~1000個前のseedを逆算し、−2に表示された指定乱数値を文字コードに置き換えます。メソッド1にそもそも個体が出てこないという場合はその個体は存在しないかもしれません。諦めて別の個体にしたほうがよさそうです。分からんけど。
次にcalcpidというソフトを使って個体値から性格値を逆算します。結果がいくつか出ると思うんですが、性格があってるやつのみを抽出して、出てきた性格値を16進数に変えて、乱数値頭4桁と同じ値が下4桁に来てるやつ選べばいいです。多分。
性格値の頭4桁と下4桁をxorで計算した値と、表IDと裏IDをxorで計算した値を用意して、それらをxorで計算して0~7であれば色違いになるはずです。僕は計算しやすいので0になるよう計算しましたが、ミュウそもそもがフラグ付きなので1~7でも菱形になると思います。僕は正直可愛いポケモンの色違いエフェクトは星にしたいのですが、どう足掻いても菱形になるのであればどうしようもないですね。無念。
表IDを任意の数字にしたいのであれば、裏IDに何の数字を入れればいいかは計算で求められるので、求め次第任意コードでID自体を変更すれば解決です。
僕と同じ個体を出したい場合は以下に記載してあるのを利用してくれれば今説明した計算は要らないと思うので、よかったら参考にしてください。何か自分で別の個体を出したい人は、かなり端折りましたが前述したように作業すれば出せると思います。
記入ミスの可能性や自分の理解が足りてない可能性も十二分にあるので、あくまである程度理解したうえでの参考程度にしてください。失敗した場合の責任とかは負いません。上で説明した解説者のブログを参考にしながら見る前提で記載します。
表ID00000,裏48624にする際に①②③④❶❷❸❹に入れるやつ
[ lC た ]
上記IDで光るきまぐれA05Vを出す時ボックス名9にいれるやつ
[ギEスお ]
=====参考程度の情報========
性格値:0x7bc9c639
乱数値:0xc639da32
05 5d bf 88
お ス E ギ
①②=[ ]=0x0000
③④=[lC]=0xBDE0
❶❷=[ ]=0x0000
❸❹=[た ]=0x0010
①②+❶❷=0x0000+0x0000=0x0000:表ID00000
③④+❸❹=0xBDE0+0x0010=0xBDF0:裏ID48624
F0に対応する文字コードが存在しないため、E0+10=F0で解決
性格値:2076821049 , 性格:18(きまぐれ) , 特性2 , 性別値:057 , Normal D/P or GBA - シード 2222349659
性格値:3782608274 , 性格:18(きまぐれ) , 特性1 , 性別値:146 , Rare-GBA-Event : UnRestricted
=======================
ちなみにきまぐれにした理由は、ミュウがきまぐれな性格だと可愛いと思ったからです。以上。
それでは今回はこの辺で!ノシ
※この記事に何か問題がある場合はツイッターで仰っていただけると対応できます。ブログのコメントは確認しておりません。
※質問には対応しかねます。多分分からないことの方が多いです。