2008-01-05

Win32 Binary Checker

SourceForge.net Logo

日紹介した、ttk::treeview のサンプルを応用して、Linux 上でクロスコンパイルしたバイナリが使用する DLL をチェックするプログラム、wbc - Win32 Binary Checker を作ってみました。動作環境は、Fedora 8 (Linux) / Tcl/Tk 8.5.0 です。


Tcl/Tk 8.5.0 での実行例

MinGW クロスコンパイラで生成した.exe.dll の拡張子がついたバイナリ ファイル名 に対して、

exec i386-mingw32-objdump -p ファイル名 | grep "DLL Name:"

を実行して得られる、ファイル名 が依存している DLL のリストを、そのファイルのノード下に表示するプログラムです。なお、GUI の部分で使えるところは全てテーマ・ウィジェットを利用しています。

とりあえず、自分のアカウント内でコンパイルした Tcl/Tk 8.5.0 を使っていますが、Fedora で配布されている Tcl/Tk が 8.5 系に対応するまで待つとすると、随分先のことになりそうですので、8.4 系でも動作するようなプログラムにして、プロジェクトサイトにアップロードしようと考えています。

【追記】
Fedora 8 / Tcl/Tk 8.4.x 用に tile-0.8.2 の RPM パッケージ (tile-0.8.2-1.fc8.i386.rpm) を作成して、wbc を Tcl/Tk 8.4 系でも動作するように修正を加えました。フォント表示が異なる他は、機能的に違いはありません。なお、Tcl/Tk 8.4 系(Tcl/Tk 8.4.5 以上)では、拡張パッケージ tile をロードすれば Ttk を Tcl/Tk 8.5.0 と同じように利用できます。


Tcl/Tk 8.4.15 での実行例


wbc をパッケージとして公開するためには、少しドキュメントを用意する必要がありますし、Win32 Binary Checker という名前の割には機能的に寂しいので、もう少し機能を吟味、追加してから公開したいと思います。

0 件のコメント: