Ｂｉｎａｒｙ Ｅｄｉｔｏｒ Ｂｚ   Version 1.00  Copyright ｩ 1996 by c.mos

■ はじめに

■ 基本操作

■ 少し高度な操作

■ 検索ボックス

■ ビットマップビュー

■ ダブルウィンドウ

■ 構造体リスティング

■ 頒布条件、その他


はじめに

BZは、シンプルなバイナリエディタです。次のような特長があります。

•	ＳＤＩアプリケーションでありながら、画面を２分割し、２つのファイルを表示可能

•	構造体ファイルを参照して、構造体のメンバをリスト表示可能

•	ファイルの構造を一度に見渡せる、ビットマップビュー機能

•	文字列、バイトデータによる検索機能

•	Unicode文字列表示機能

BZは、次の環境で動作します。

•	BZは、32bitアプリケーションです。Windows95、NT4.0で動作確認を行なっています。

•	BZは、MFC4.0を使って記述されています。実行には、MFC40.DLL、MSVCRT40.DLLが必要です。


基本操作

カーソルの移動は、次のコマンドキーで行います。

キー	機能

→←↓↑	１バイト／１行移動

PgUp PgDn	16行上／下へ

Home End	行頭／行末へ

Ctrl+Home	ファイルの先頭へ

Ctrl+End	ファイルの末尾へ

Tab	16進数／文字表示領域間移動

データの編集は、次のメニューまたはコマンドキーで行います。

メニュー	キー	機能

Ins	挿入／上書きモードのトグル

BkSp	カーソルの直前の１バイトを削除

Del	カーソル上の１バイトまたは選択領域を削除

Edit-Cut	Ctrl+X	選択領域をクリップボードへコピーして削除

Edit-Copy	Ctrl+C	選択領域をクリップボードへコピー

Edit-Paste	Ctrl+V	クリップボードのデータをカーソル位置へ挿入

Edit-Undo	Ctrl+Z	編集の取り消し（何回でも可能）

Edit-Read Only	リードオンリモードのトグル


少し高度な操作

次のメニューまたはコマンドキーで、カーソルを任意の位置へジャンプしたり、データを入力できます。

メニュー	キー	機能

Jump-Find...	Ctrl+F	検索ボックスで文字列／バイト数値列を入力し検索

Jump-Find Next	F3, Enter	次の検索

Jump-Compare	画面２分割時、２つのファイルを比較

Jump-To...	検索ボックスで入力したアドレスへジャンプ

Jump-Offset	カーソル位置のbyte/word/dword値を足したアドレスへジャンプ

Jump-Return	Ctrl+R	ジャンプ前の位置へ戻る

Jump-Mark	Ctrl+F2	カーソル位置をマーク（８個まで）

Jump-Mark Next	F2	次のマークへジャンプ

Edit-Enter Value	カーソル位置へデータを入力。範囲指定時は、選択領域を入力データでＦＩＬＬ


検索ボックス

ツールバー上のコンボボックスを「検索ボックス」と呼びます。ここで文字列を入力してEnterを押すと、カーソル位置以降で文字列を検索し、見つかったアドレスへジャンプします。

View-Character setメニューにより、検索モードが変わります。

Ascii	英大小文字を区別して検索

Shift-JIS	英大小文字を区別しないで検索

Unicode	ユニコードで検索

文字列の先頭文字が、「？＞＜＋＃」の記号の場合は、以下の特別の処理を実行します。

？	16進数の計算式を入力できます。演算子は「＋－＊／＆｜＾」、演算子に優先順位はありません。左から順次演算されます。

10進数を入力したい場合は、直前に「％」を付加します。

演算結果は「= 16進数 (10進数)」で表示され、ここでEnterを打つと続けて計算式を入力できます。

＞	計算結果のアドレスへジャンプします。

＋	カーソル位置に計算結果のオフセットを加えたアドレスへジャンプします。

＃	バイト数値列を検索します。各バイト数値は、カンマ、スペース等で区切ります。(例) 「# 63 2e 6d 6f」

＜	計算結果をbyte/word/dword値とみなして、カーソル位置に入力します。(例) 「< %100」


マウスの左ボタンをダブルクリックすると、ステータスバーに表示されるカーソル位置のデータ長が、 byte/word/dwordと順次切り変わります。ステータスバーのこのペインを直接クリックしても切り変えられます。Jump-OffsetおよびEdit-Enter Valueメニューは、このデータ長を元に実行されます。


ビットマップビュー

View-Bitmap Viewメニューを実行すると、ファイル全体をビットマップデータとみなして、左側へ表示します。ファイルの１バイトがビットマップの１ドットに相当し、その値に応じて次のようにカラーリングされます。

00h	 白

01h～1Fh	水色

20h～7Fh	 赤

80h～FFh	 黒

ビットマップ上でクリックすると、カーソルはクリック位置に対応するアドレスへジャンプします。

この機能は、大きな実行ファイル中で、文字列プールの場所を探す時に便利です。


ダブルウィンドウ

BZは、ＳＤＩアプリケーションでありながら、画面を２分割し、２つのファイルを表示できます。

View-Split Horizontally/Verticallyメニューで、窓を横／縦に２分割します。この時、開いているファイルはデュプリケートされます。１つのファイルを２つのビューで表示するのではなく、内部的に二つのファイル（ドキュメント）が存在していることになります。

マウスクリックまたはCtrl+Tabで、アクティブなビューを切り換えられます。別のファイルを開くと、アクティブなビューのファイルのみが入れ代わります。

Jump-Compareメニュー、または検索ボックスが空の状態で、Find Nextボタンを押すと、カーソル位置から２つのファイルを比較し、異なる場所へジャンプします。また、２つのファイルのサイズが同じ場合は、異なるデータのみブルーで表示します。

(注) 終了時にアクティブではないビューのファイルは、変更されていても保存の確認はなされません。


構造体リスティング

View-Structure Viewメニューで、構造体リスト窓が開きます。「Structures:」リストの中から表示したい構造体名を選び、次に構造体の先頭アドレスをダブルクリックすると、「Members:」リストに、カーソル位置からのデータを構造体のメンバとして表示します。

「Members:」リスト上の各メンバをクリックすると、そのデータの位置へカーソルが移動します。さらに、メンバをダブルクリックすると、検索ボックスから新たなデータを入力できます。（リードオンリモードでは、入力できません）

構造体リストは、BZ.DEFファイルに記述します。BZ.DEFファイルは、BZ.EXEと同じディレクトリに置いてください。書式はC言語の構造体定義に似ていますが、以下の点に留意してください。

•	型名のキーワードは、次の９種です。構造体のネストはできません。

char, short, long	符号つき１０進数表示

byte, word,  dword	符号なし１０進数表示

BYTE, WORD,  DWORD	符号なし１６進数表示

•	複数のメンバをカンマで区切る場合は、カンマの両側にスペースを入れます。

(例) dword cx,cy;

•	配列を記述する場合、メンバ名と[]の間にスペースを入れます。

(例) long dfReserved1[4];


頒布条件、その他

•	BZはフリーソフトウェアです。転載および再頒布は自由です。

•	不具合、ご要望等は、下記のmailアドレスへご一報ください。

GCA03652@niftyserve.or.jp

c.mos@mix.or.jp

•	本プログラムを使用した上で生じたいかなる損害についても、作者は責任を負いません。