なるほどえたきちのブログじゃねーの

チラ裏雑記帳

ポケモン過去作の解析とか乱数調整とかそこら辺。不定期更新。

【Em】ふしぎなカードの偽造その1

ふしぎなカードのデータ書き込みについて紹介します。
例によって16進数やバイナリエディタに対するそれなりの理解があることを前提としています。

書き込むデータの例として公式のふるびたかいずを使用します。
データの位置特定や書き込みにはゲーム内バイナリエディタを使用するため、バイナリエディタ未導入の方は以下の記事を参考に導入してください。
http://bzl.hatenablog.com/entry/2019/09/29/182642bzl.hatenablog.com
データサイズが大きい都合上、打ち込むデータの指定にはPC用バイナリエディタのスクショを使用しています。

1)カードのデータ書き込み



0x03005AECからの4byteに格納されたポインタに0x3310byteを加算したアドレスがふしぎなカード格納メモリです。
このアドレスを始点に以下のデータを書き込んでください。
f:id:BZL:20191006103229p:plain

また、上記のデータの代わりに以下のデータを書き込むことで、一次配布可能なカードを生成することができます。
生成ROMから他のROMに配布されたカードは正規のカードと全く同じバイナリデータになります。
f:id:BZL:20191006110333p:plain

2)スクリプトのデータ書き込み



0x03005AECからの4byteに格納されたポインタに0x3728byteを加算したアドレスが配達員スクリプトの格納メモリです。
このアドレスを始点に以下のデータを書き込んでください。
f:id:BZL:20191006104449p:plain

書き込みが終了したら一旦レポートを書いて保存します。
ふしぎなおくりものからカードの情報を見ることができれば書き込みは成功です。
もし弾かれた場合は再度アドレスを特定してからミスのある箇所を修正してください。
打ち込みミスのある状態で配達員に話しかけると打ち込んだデータがクリアされてしまうので、確認は必ずふしぎなおくりものメニューから行うようにしてください。


以上の手順で外部ツールを使用せずに正規と全く同じデータのふるびたかいずを生成することができます。
Twitterで紹介したオリジナルのふしぎなカード作成については別記事で纏めます。
↓続き
bzl.hatenablog.com