久々にデバッガを使ってみた

思い出すのに少し苦労したよ。Elona のデータを書き変えようと思ってさ。書き変えてみたよ。上手く行った。一応やり方が分からねえって人の為に軽くやり方を書いて置くよ。

  1. 【ブラウザ】Elona の入手。オフィシャルサイトより。俺が試したバージョンは最新の安定版である elona116rfix2b.zip。
  2. 【ブラウザ】Debugging Tools for Windows の入手。マイクロソフトのサイトより。
  3. Windows】Elona の起動。
  4. 【Elona】店の前に移動。
  5. WindowsWindbg の起動。
  6. Windbg】Elona のプロセスにアタッチ。
  7. Windbg】sb 00000000 L10000000 <所持金>[エンターキー]
  8. Windbg】g[エンターキー]
  9. 【Elona】店で物を売る。
  10. Windbg】一時停止する。
  11. Windbg】sb 00000000 L10000000 <所持金>[エンターキー]
  12. テキストエディタ】1 度目の sb コマンドの結果と 2 度目の sb コマンドの結果をサクラエディタ等に貼り付ける。そして加工する。サクラエディタなら Alt を押しながらマウスでドラッグをする事により矩形選択が出来る。
  13. 【エクセル】加工したテキストをエクセルに貼り付ける。MATCH 関数で 1 度目の結果と 2 度目の結果の双方に存在するアドレスを得る。A 列と B 列に結果を貼り付けた場合は C 列に =MATCH($A1, $B$1:$B$65536, 0) みたいな式を入力する。その後でオートフィルタで結果を見付けると良い。
  14. Windbg】ed <アドレス> 00ffffff[エンターキー]
  15. Windbg】g[エンターキー]
  16. 【Elona】所持金が 16777215 になっているのを確認。

こんな感じだ。Elona に限らずどんなゲームにも通用する手法だから覚えて置くと良いよ。俺は数年前に編み出して以来、度々この方法の御世話になってるけど。Debugging Tools for Windows ってツールの存在さえ知っていれば誰でも思い付く様な方法だから、ネット上で誰かが詳しく書いてると思うよ。逆に誰でも思い付く様な方法だからこそ調べる必要も無いんだけど。英語さえ読めれば Debugging Tools for Windows のヘルプで十分だからな。それとコンピュータの基礎が分かってれば楽勝だよ。

  • <所持金>はプレースフォルダです。Elona の gp の事です。そしてバイナリエディタ的な入力になります。所持金が「561」なら「31 02 00 00」って入力して下さい。gp は特徴的な数字であれば特徴的な数字である程に良いです。理由は書かなくても分かるでしょ。
  • <アドレス>も当然プレースフォルダだよ。
  • [エンターキー]ってのはエンターキーを押せって事だよ。
  • 見付かったアドレスの近くに大抵の場合は他のパラメータも存在するから探してみると良い。dd コマンドとかで探す。例えば Elona の場合は gp の +4 アドレス隣に pp がある。