理想はroaddr.dll

たぶん同世代の解析よりなツール作者は皆多かれ少なかれ影響を受けているだろう伝説のアレ。
自分はiniの解析に何度か参加しただけで使ったこともコード読んだ事もないわけですが。

で、何の話かというとth123_aiの話。
なんだかんだ言って解析が面倒なのと、更新あるたびに解析必要部分を洗うのが面倒なので、roaddr.dllに倣って可能な限りiniに出してしまおうという話。

tskの作者さんも確か最初はそういうのを目指してiniを作ったという話なので自分も似たような書き方をしてみる事に。
といってもあの膨大な量をコードも見せずに更新丸投げしても誰もやってくれるわけがないので、あくまで自分のためなんですがね。
もちろん、roaddr.dllみたいな汎用ツール作成支援dllなんて作る気も技術もないしね。

それに伴って問題発生。
iniからの読み出しは汎用性を重視して文字列指定で読んでいる訳ですが
メモリー読み込み全てをiniから読み込むようにした場合、読み込みにかかるコストがとんでもない事になるだろうって話。
適当に構造体用意するなりして、アドレス周りだけでも直に読むようにしないとなー、めんどす。

th123_ai(仮)の作成開始

まだ手をつけてなかったんかいと言われそうですが、手をつけてませんでした。
いや、framedisplayswrのような物を作っていたんですが、どうにも納得いくGUIが作れず行き詰り、ようやくこちら手を付ける気になっただけですが。

土曜開始で現在ようやくスクリプトが走る段階までいけたところ。
といっても、本当に走るだけでHPとXY座標とbattle_timeしか取れないので何も出来ないわけですが……
中間報告を兼ねてexeだけ上げておきます。
th123_ai.zip
基本的にth105_aiと同じなのでテキストの類なしでもなんとかなるはず。

ちなみに、具体的な作業内容をあげると
・開発環境を変えた
・開発環境変更に伴うコードの変更
・使用しているライブラリも変えた
・ライブラリ変更に伴うコードの変更
・緋と非を両立させられるよう内部構造を変えた
・一部手を抜きすぎた部分の改修
という感じで、まだ非のアドレスサーチはほとんどやってません。
つまりここからが本番、がんばれ俺。

上記の通り、かなり大幅な変更が加わっているため今まで動いていた環境で動かなくなるなどあるかもしれません。
一応緋で使う分にはth105_aiと完全に同じ動作をする”はず”なので、動作確認に緋で使ってみるのもいいかも。