HxDというバイナリエディタを使ってみた
概要:
バイナリエディタ(Hex editor)と言えば、日本では、Stirlingというツールが、非常に有名フリーソフトだと思います。
ただ、Stirlingは、1999年以降、開発が止まっています。 随分、更新されていないので、扱えないような大きなファイルなども出てきました。
そこで、以前から、良いバイナリソフトはないかと、探してました。なかなか、有償では、それらしきものもありますが、フリーソフトとなると、意外に少ないものです。
今回、記述しますソフトウェアも、Stirlingに完全に勝っているわけではありません。
使い勝手においては、Stirlingに勝りませんが、大きなファイルの取り扱いについては、随分、勝っています。また、シンプルですので、私個人的には、お気に入りです。
機能概要の直訳です。
- インストール版としても、モバイル版としても利用可能です。
- ファイルサイズにかかわらず高速に開けます。
(> 4GBは問題ではありません、それがディスク/ドライブ上にあるなら、それを開くことができます)
- HxDで開かれたファイルは、高速で、安全に他のアプリケーションと共有されます。
- 高速で検索します。後方検索も前方検索も、先頭からの検索もいずれも速です。
- 置換機能(何百万もの編集を高速に行えます)
- ディスクエディタ: ディスク/ドライブのRAWデータ値の読み書きができます。ィ(WinNTとWin9x)
- RAMエディタ: 他プロセスの仮想メモリの読み書きができます。
- RAMエディタでは、オーバービューをよりよくするためのデータホールディング機能があります。
- ファイルの分割・結合ができます。
- ファイル(シュレッダー)の安全な削除ができます。
- ファイルの比較ができます(今はシンプルなバージョンです)
- バイトデータの挿入、パターンの貼り付けができます。
- バイトのグループ分け表示ができます。
- テキストだけ、HEXデータだけの表示切替ができます
- バイナリ情報をソースコード変換しての出力ができます。
出力のプログラム言語は、パスカル、C、Java、C#、VB.NETです。
また、フォーマット付き出力として、プレーンテキスト、HTML、Richtext、TeXの形式でも出力できます。
エンディアンは、モトローラS37形式、モトローラS28形式、モトローラS19形式、インテル16bit形式、インテル20bit形式、インテル32bit形式に対応しています。
- チェックサムジェネレータ:
以下のチェックサムを実行できます。
チェックサム-8…, チェックサム-32、CRC-16、CRC-16CCITT、CRC-32、カスタムCRC、SHA-1、SHA-256、SHA-384、SHA-512MD-2、MD-4、MD5
- 統計表示:
特性分布のグラフ表示ができます。
データの特徴を見つけるのを手助けします。
- ANSI、DOS/IBM ASCII、およびEBCDIC charsetsの表示ができます。
- メモリが許す限り無制限にUNDOできます。
- 変更されたデータは強調表示できます。
- インターネットでソフトウェアのアップデート確認ができます。
- ゴーストカレット: 文字列のところでも、HEXデータのところでもカレットをおくことができます。カレットを置いていない方に、ゴーストカレットが表示れます。
- 印刷
- ブックマーク:
Ctrl+シフト+数(0-9)で、ブックマークを置けます。Ctrl+数(0-9)でブックマークへ飛びます。
- フリッカフリー表示と速い表示が可能です
インストールする
まずは、ダウンロードサイトから、セットアップファイルをダウンロードします。
日本語版がありますでの、日本語が良い方は、そちらをダウンロードします。
日本語対応のインストーラなので、これも心地よいです。
以降に画面イメージを記載します。
ここで、
同意するを選択する。
ここで、インストール先を変更する場合のみ、上記に設定する。
ここで、スタートメニューに追加する名前を指定する。
スタートメニューに追加したくない場合は、"プログラムグループを作成しない"にチェックを入れる。
デスクトップアイコンの設定がいらない場合は、"デスクトップ上にアイコンを作成する"のチェックをはずす。
QuickLunch上にアイコンの設定がいらない場合は、"QuickLunchにアイコンを作成する"のチェックをはずす。
特に問題なければ、"インストール"をクリックしてインストールを実行する。
特に問題なく、インストールできたら、上記の画面が表示され、完了です。
起動されると以下のような画面が表示されると思います。
メニューやツールバーを見ても、このツールのシンプルさが伝わってきます。
では、早速、使ってみましょう。
使ってみる
実際に起動してみて、
3Gのバイナリファイルを読み込んでみると、
非常に軽いです。
最近、色々とバイナリエディタを調べていたので、特にそう思うのでしょうが、この軽さは、非常に心地よい感じがします。
3Gを読み込めるバイナリエディタ自体が、フリーソフトでは、それほどありません。
また、これだけ早く読み出せるのも驚きです。マップドファイルなどの技術を使っているのだろうとは思いますが、それでも、早く感じました。
Stirlingでは、
3Gのファイルは読めませんから、60M程度のものを読み込んで比較してみました。
目測による、読み込み速度とタスクマネージャによるメモリ消費を比較してみました。
Stirlingでは、表示するまでに、
約3 - 4秒程度かかりました。
HxDでは、表示するまでに、
約1秒程度かかりました。
Stirlingでは、メモリ消費が、583Mから638Mへ増加していますから、
約55Mの消費しています。
HxDでは、メモリ消費が、580Mから584Mへ増加していますから、
約4Mの消費しています。
Stirlingの消費メモリ
HxDの消費メモリ
性能面からでは、上記のように、かなり、HxDがStirlingより良い結果です。
しかし、画面の表示機能面からするとStirlingではできて、HxDではできないことも多いです。
例えば、ファイルの比較結果表示ですが、
Stirlingでは、強調表示や同時スクロールなどで、より、違いがわかるようになっていました。
HxDには、ありません。
HxDでは、比較して、次の相違点への移動は、できますが、画面で色の強調や連動してスクロールさせるなどの機能はありません。
また、Stirlingでは、構造体を使って、表示などが見やすくできましたが、HxDでは、そのような機能はありません。
このような細かい機能が、必要な方には、無理があるかもしれません。
私も、今は、併用しています。
先のような表示面で、小さなバイナリであれば、まだまだ、Stirlingも健在ですから、使っています。
ただ、今後のメンテナンスからしても、開発が止まってしまっているStirlingを使い続けることには、
少し、抵抗もあります。そろそろ、HxDに完全移行も考えているところです。
USBなどで、HxDを持ち運ぶ時は、HxDの実行ファイルを一つ持ち運べば良いです。
実行ファイルをクリックすると、以下のような画面が表示され、設定情報をINIファイルに保存することを通知します。
この画面で"OK"をクリックすると、その実行ファイルがあるディレクトリにHxD.iniファイルを作成します。
その他にも、色々機能があります。
例えば、ソースコードへの出力です。バイナリファイルを各開発言語で、そのまま使用できるように
変換してくれます。
以下は、C言語へ変換したときのファイルをイメージです。
(途中は、削除しています。)
1
2
3
4
5
6
7
8
9
10
| /* C:\temp.txt (2008/02/29 10:59:32)
StartOffset: 00000000, EndOffset: 00000058, Length: 00000059 */
unsigned char rawData[89] = {
0x23, 0x23, 0x20, 0x53, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x20, 0x5A, 0x69,
:
:
0x22, 0x43, 0x3A, 0x5C, 0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x2E, 0x6A,
0x70, 0x67, 0x22, 0x0D, 0x0A
};
|
また、CRCのチェック機能などもあります。実際にバイナリファイルを様々なCRCチェック計算を実施してくれます。
フリーソフトですから、色んなことを試されてみてはいかがでしょうか。
豆豆知識:
この本に出てくるバイナリエディタは、Bzというバイナリエディタです。これも、国産のフリーソフトとして有名なものです。
ただ、これも更新が、すっかり止まっています。(Last update 2004/03/06)
使っている側からすると、多少なりともアップデートがあると安心なんですけどね。
(フリーソフトですから、無理を言えないところですね・・・。)
|
30日でできる! OS自作入門
|
コメントをどうぞ