update 2004.09.19

Chankast 改造コードサーチ講座 第4回
〜Chankast専用サーチツール DreamHasteを使ってみる〜


概要
これまでの汎用プロセスメモリエディタ DBxSTAND を用いた方法では、
必ず手動でベースアドレスを取得する必要がありました。
そこで今回からは、拙作のChankast専用サーチツールDreamHasteを用いて説明します。

>>DreamHaste Ver1.20のダウンロード
思いっきりたにしげ師匠を意識してますな〜

DreamHasteの特徴は以下の通りです。
・Windowsとドリームキャストのメモリアドレスの違いを吸収し、DC実機のアドレスで表示します。
 (そのため、発見したコードのアドレス値を手動で変換する必要がありません )。
・「メモリエディタではなくサーチツール」なので、ヘキサダンプはあくまで「ビューワ」です。
・「不動小数点数(FLOAT)サーチ」があり、小数点以下の値の存在するパラメータもサーチできます
・簡易メモリ書き替え機能があり、サーチしたパラメータの変更をすぐに試せます。
・DreamHackerと改造コードに互換性があり、こちらでコードを生成してファイル保存し、
 DreamHackerに読み込ませることでオリジナルの改造コードが作れます。

準備
今回は以下のツールを使用します。
・DreamHaste Chankast専用サーチツール(改造コードの作成)
・DreamHacker Chankast専用改造ツール(改造コードファイルの実行)

ターゲット セガガガ

序盤の敵相手にダメージ当てすぎ
なんだかものすごくデジャヴを感じる画像ですね(ぉ

さて、第1回でこの題材でサーチしたときはステータスのパラメータサーチでしたので、
今回は所持金をサーチしてみましょう。
このパラメータは買い物するごとに変化するので、発見しやすいのが特徴ですね。

それでは、Chankastを起動したらセガガガを売店の画面まで進めましょう。

現在の所持金は 24676 円ですね。

そこでRun→Pauseを選択してエミュレーションを停止させて、DreamHasteを起動。
メニューの[ Chankast捕捉 ]をクリックしてください。
これで、ヘキサダンプ&アスキーダンプ領域が更新されてサーチ可能になります。


さて、サーチ前にこの「所持金」について考えてみましょう。
・ゲーム序盤であるにも関わらず所持金は24676円あり、後半は数百万円になる。
という点から考え、4バイト(DWORD)型であるということは明白です(稀にFLOATだったりしますが)。
サーチする際も、そのことを考慮してバイトサイズを正しく指定してやる必要があります。

DreamHaste右上にはサーチパレットの項目があり、ここで全てのサーチを行います。


今回は所持金を直接検索しますので、入力欄「バイトサイズ符号 + 検索したい値」を入力し、
それから左の「数値検索」ボタンをクリックすることでサーチが始まります。
上画像は L24676 で「4バイト(DWORD)で格納されている10進数24676 」を検索している様子です。
ここをもし S99 とすれば「1バイト(BYTE)で格納されている10進数99 」を探しますし、
M9999 とすれば「2バイト(WORD)で格納されている10進数9999 」を探します。

さて話を戻します。
これで10進数24676をサーチすると、すぐ下のサーチ結果にヒット件数が反映されます。


アドレス 006DDC68,006DF114,007957B0,00DDB9B4 の4箇所に該当しました。
もう決まったも同然なのですが、せっかくなので「絞り込み」を行いましょう。
売店でルーデンスを購入し、所持金を1500円減らして 23176 円にしてから、
DreamHasteで L23176 をサーチします。


これで、先ほどの4箇所の中からさらにアドレス006DDC68,007957B0だけが残りました。
ラスト1件まで絞りたいところですが、後は何度サーチしても2件以下に減りません。
ここからは大まかに「2件のうちどちらか(もしくはどちらとも)当たり」と目星を付けて、
パラメータを書き替えてみます。

DreamHasteのメニューから[簡易メモリ書替]をクリックして、
アドレス [ 006DDC68 ]
データ [ L99999999 ]
改造コード追加 (チェック)
以上のように入力し「書き込み」ボタンをクリックしましょう。
これでChankast上のメモリエリアが書き替えられ、さらにDreamHasteの
簡易改造コードマネージャには、DreamHacker用の改造コードが出力されます。


この状態でセガガガに戻ると……突如、猛烈な勢いで1円ずつ所持金の増加を見れます。

そこで、再び[簡易メモリ書替]をクリックして、
アドレス [ 007957B0 ]
データ [ L99999999 ]
改造コード追加 (チェック)
これで再びセガガガを表示すると…


所持金の表示が99999999円になっています。
実際には 006DDC68 05F5E0FF だけで効果はあるんですが、
(007957B0が画面表示で、006DDC68の値に追いつくまで加算を続ける処理になってます)
まあ気になる方は両方使っても良いかと思われます。

DreamHackerにコードを登録する

今回サーチした改造コードは、以下の方法でDreamHackerに登録することができます。
(セガガガ関連は標準で入ってるので、毎度のこと意味はありませんが…)。

1.DreamHackerを起動したらメニューの[ コードをコピペ追加 ]をクリック。
2.タイトル(/)とコード効果命令(*)を付加して以下のようにコードを入力&コピペ。
/セガガガ改造コード
*所持金99999999円
006DDC68 05F5E0FF
007957B0 05F5E0FF
3.保存コード名にはゲーム名を、とりあえず「セガガガ」とでも付けます。
4.「保存」ボタンをクリックすれば登録されます。

さいごに

今回説明した内容は「第1回をDreamHasteにアレンジしたもの」です。
少し端折って説明したところもありますので、そこは第1回と照らし合わせてみると、
わかるかもしれませんねぇ。


TOPに戻る