2012年12月17日月曜日

tsxbinの紹介

ゲーム日本語化 Advent Calendar 2012に参加してみたので、なんか書こうという事で日頃解析に使っているツールを紹介する。

自分は、リソースファイルを解析のツールとして、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 件のコメント:

コメントを投稿