secondfiddle@人柱日記

ま、パソコンと車とカメラとそれから・・・・・・

savedata.datの秘密を暴け……な〜んてな

BIOHAZARD4 PC版 改造計画 savedata.dat
仕事は片手間趣味は真剣……てな事はありませんが唐突にsavedata.datの検証を思い立ちました。つまり今回複数セーブデータを作り、各々比較することによって武器データはどこに格納されるのか、と言うことです。これを手がかりにしてその他の事実を暴こう、と言う算段。
もちろんsavedata.datの中に武器データは書き込まれているはずです。それも武器の種類の他にどれだけたくさんの武器を所持しているか、武器の改造はどこまで進んでいるか、等結構複雑な要因も書かれているはずです。
ひいてはこれがハンドガンをハンドキャノンに書き替えた時、位置情報もあるのではないかと思っております。
そこで比較検討するために四種類のセーブデータを作り上げました。

共通条件としては
マチュアモード
カラスは撃たない、アイテムは拾わない
出てきた敵はすべて一掃
無駄撃ちしてでも弾薬は空っぽにする
所持していたアイテムは武器以外すべて捨てる
最初の小屋でのタイプライターで一度しか作らない
セーブしたら一回ごとにゲームを終了
個々のセーブデータとしては
1ハンドガンとショットガンを所持……「1savedata.dat」とリネーム。
2ハンドガンのみ所持……「2savedata.dat」とリネーム。
3ショットガンのみ所持……「3savedata.dat」
4武器も何も全く所持しない、つまり「丸腰」……「4savedata.dat」
セーブデータに四回分セーブしても良いですが、これだと自分にとって比較検討が非常に困難と言うことがわかりまして。とてもじゃないが自分では手に負えない、と。
シンプルな反面、一回分ごとにゲームを始めるというこんな面倒な手続きを踏んだことにより、同じように見えていて、しかしながら内容が微妙に違う四種類のsavedata.datが出来上がりました。
さて、どうやって比較するのか? 
このままでは中身がわかりませんので、バイナリデータ編集ソフトの出番です。おいらは「TSXBIN」というフリーソフトを使っております。
四種類を同時に立ち上げ……というわけにも行かないのでディスプレーをほぼ四分割にして、ひとつひとつ立ち上げます。
そして四つとにらめっこ。「1と2ではF9の54 A2が同じ」「1と4、3と4ではD2が02 00で同じ……と」
……
……
……
……
……
……
……
……
……
……
ええい、止めじゃ止めじゃ! 気が遠くなるッ!
いくら何でもこんな非能率的なことをやっていたら、いつ終わるかわかりません。
そこで一計を案じ、二つのバイナリデータを比較して差異が生じたアドレスをピックアップしてくれるソフトはないものか、と考えました。
ネットを徘徊すると「filecmp」と言うフリーソフトを見つけました。これぞまさしく二つのバイナリデータを比較してくれるもの。
早速ダウンロード、試運転。操作簡単一発解答。
するとでるわでるわ……やっぱり自力で解くなんてぇのは無茶。
残念ながら四つ同時に比較してくれるわけではないので、「1と2」「1と3」「1と4」……合計六種類。でもそれ以外はやっぱり自力で比較。
そうやって苦労して得た結論は
35C0〜35CBあたりの 23 FF がどうやらハンドガン?
35CC〜35D7あたりがショットガン?
たった二種類の武器だけでこんなに苦労するから、これ以上になったらどこにどんなデータが潜むようになるのか……考えただけでも空恐ろしい。
もっと手軽にわかる方法はないか?
そのとき神が舞い降りました。
(以下次回刮目して待て……なんちて)