自分は、リソースファイルを解析のツールとして、tsxbinというバイナリエディタを活用している。
tsxbinは、こちら(http://www.net3-tv.net/~m-tsuchy/tsuchy/index.htm)で公開されているバイナリエディタ。
最大の特徴は、Cライクなマクロ言語を実装し、マクロでシンボルファイルを作成することによって、エディタ上のデータ表示をシンボルで定義された形式に変更することができる。
最近自分が作成したツールのPrototype2のp3dファイルのシンボルを例に挙げると、普通のバイナリエディタではこんな感じだが、
シンボルファイルを定義するとこんな感じになる。
マクロを組みながら、少しずつフォーマット確認を行うことができるので、バイナリエディタ上でフォーマット確認&ツール作成なんかに比べると、段違いに効率的になる。
また、自作ツールをrepackしたものをtsxbinでフォーマット確認するなど、デバッグツールとしても使える。
それ以外にもバイトオーダー、型表示(BIT,HEX,SIGN,UNSIGN)、バイナリレベルでの差分比較なんかの機能も便利だ。マクロと組み合わせて使いこなせば解析がぐっと楽になる。
ただ、ちょっと不便なところもある。
- マクロファイルをテキストエディタで開いているとtsxbinでシンボルが適用されない。エラーも出ない。
- 文字コードがSJISとUNICODEしか対応してない。
- Int64に対応していない。
- 複雑なマクロを組むとちょっと遅くなる。
- バイナリ差分比較が大きなファイルだと遅い。。
更新が行われなくなってずいぶん経っているが、上記あたりが改善されるととてもうれしいなあ。。。
次は、tsxbinのシンボルの作成について気が向いたら書くかも。
0 件のコメント:
コメントを投稿