【改造コード】ぱちゅコンヌルゲー化【バイナリ変更】

2019年5月1日

環境依存型変動アドレスだとどうしてもメモリを指定しての改造コードを考えるのが大変だったので(色々と試して何となくわかってきましたが)、一旦副産物でこんなものができたという記事を書きます。

使うのは自己責任でアザラシに責任は一切なしだから

Stirlingでいじる際に元々のexeファイルを.bakとしてバックアップをとってくれますが、心配であれば先にexeファイルをコピーして PatchCon.exe.bakのような物を作っておくと安心です。

Stirlingで PatchCon.exeを開いていじってどうぞ。

StirlingのDL先

//キャラ購入時お金が減らない。
0x00048852 – 90 90 90 90 90 90

//レベルアップ時お金が減らない
0x000472A1 – 90 90 90 90 90 90

//初期所持金99999
0x0004CF0C – 4F 50 C7 86 1C 24 00 00 9F 86 01 00 90 90

ちなみにこれは、以前に記事で書いた、うさみみハリケーンで逆アセンブルして、NOPして書き換える方法が有ったと思うのですが、

逆アセンブルしたエリアの部分は ReadOnlyエリアを見てたきときに、もしかしてと思ってゲームのexeファイルをバイナリエディタで開き、うさみみハリケーンのReadOnlyエリアとexeファイルのバイナリがマッチするかどうか調べたら、マッチしました。ReadOnlyエリアはexeをそのまま読み込んでいるということなのでしょうか。

NOP命令に書き換えた部分はうさみみハリケーンのバイナリ部分が変わるので、exeの一致箇所のバイナリを書き換えたということです。

ちなみに初期所持金は、一度所持金のアドレスを調べ、ブレークポイントを仕掛け、一度タイトルに戻った上で、なんでもいいのでモードとか選んでゲームを開始すると、ブレークポイントがしっかり反応してくれました。

で、そのブレークポイントのログから、逆アセンブルする場所を見つけて逆アセンブルして、所持金アドレスに対し2000を追加している物をみつけアセンブルコードを書き換えて終わり。

うさみみハリケーン

そのときに書き換えたのはこれ。

元々は

MOV [ESI+241C],ECXだったか何だったかで、それを

MOV DWORD PTR [ESI+241C],1869F(h) に書き換えました、

1869Fは10進数で99999です。

ちなみに他のゲームでも同じように調べて色々やることもできるかもしれませんが、今の所改造コードを配布するために記事を書いているわけではなく、あくまで、アセンブリ言語、及び逆アセンブルの勉強の為にやっているだけなので、〇〇のゲームの改造コードがほしいなぁ・・・と思った方は、迷惑のかからないものであるなら自分でおやりになってください。