Binary Editor BZ 1.9.X

はじめに

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

  • SDIアプリケーションでありながら、画面を2分割し、2つのファイルを表示可能
  • 構造体ファイルを参照して、構造体のメンバをリスト表示可能
  • ファイルの構造を一度に見渡せる、ビットマップビュー機能
  • 文字列、バイトデータによる検索機能
  • Unicode、JIS、EUC文字列表示機能

ショートカット操作

基本操作

移動

キー           カーソル移動
---------------------------------------------------------
→←↓↑           単純移動
PgUp / PgDn    16行
Home / End     行頭/行末
Ctrl+Home/End  ファイル先頭/末尾
Tab            16進数/文字表示領域間移動
Ctrl+Tab       分割画面間の移動
Shift+Tab      構造体表示時、構造体とダンプ画面間の移動

データの編集

メニュー               キー    機能
-------------------------------------------------------------
                       Ins     挿入/上書きモードのトグル
                       BkSp    カーソルの直前の1バイトを削除
                       Del     カーソル上の1バイトまたは選択領域を削除
編集(E)-切り取り(T)    Ctrl+X  選択領域をクリップボードへコピーして削除
編集(E)-コピー(C)      Ctrl+C  選択領域をクリップボードへコピー
編集(E)-貼り付け(P)    Ctrl+V  クリップボードのデータをカーソル位置へ挿入
編集(E)-元に戻す(U)    Ctrl+Z  編集の取り消し(何回でも可能)
編集(E)-リードオンリ(R)        リードオンリモードのトグル

応用操作

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

メニュー                  キー      機能
------------------------------
移動(J)-検索(F)...        Ctrl+F    検索ボックスで文字列/バイト数値列
                                    を入力し検索
移動(J)-次を検索(N)       F3, Enter 次の検索
移動(J)-ファイルの比較(C)           画面2分割時、2つのファイルを比較
移動(J)-指定アドレスへ(A)...        検索ボックスで入力したアドレスへ
                                    ジャンプ
移動(J)-オフセットを加算(O)         カーソル位置の byte/word/dword値 ※ を
                                    足したアドレスへジャンプ
移動(J)-元のアドレスへ(R) Ctrl+R    ジャンプ前の位置へ戻る
移動(J)-マーク(K)         Ctrl+F2   カーソル位置をマーク
                                   (個数に制限はありません)
移動(J)-次のマークへ(M)   F2        次のマークへジャンプ
編集(E)-値の入力(E)                 カーソル位置へデータを入力。
                                    範囲指定時は、選択領域を入力データで
                                    埋めます。

byte/word/dwordの切り替え方

検索ボックス

検索ボックス

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

表示(V)-文字コード(C)メニュー

Ascii       英大小文字を区別して検索
Shift-JIS   英大小文字を区別しないで検索
Unicode     ユニコードで検索
JIS         JISコードで検索
EUC         EUCコードで検索

文字列の先頭文字が、「?><+#」の記号の場合は、以下の特別の処理を実行します。

先頭文字  機能
-------------------------------------------------------
#    バイト数値列を検索します。各バイトは、カンマ、スペース等で区切ります。
     例: "# 63 2e 6d 6f" (0x632e6d6f を検索)
>    計算結果のアドレスへジャンプします。
     例: "> 8655" (0x8655 へジャンプ)
?    16進数の計算式を入力できます。演算子は「+-*/&|^」
     演算子に優先順位はありません。左から順次演算されます。
     10進数を入力したい場合は、直前に「%」を付加します。
     演算結果は「= 16進数 (10進数)」で表示され
     、ここでEnterを打つと続けて計算式を入力できます。
+    カーソル位置に計算結果のオフセットを加えたアドレスへジャンプします。
<    計算結果を byte/word/dword値※ とみなして、カーソル位置に入力します。
     例: "< %100" (カーソル位置へ100を入力)

byte/word/dwordの切り替え方

ダブルウィンドウ

ダブルウィンドウ

BZは、画面を2分割し、2つのファイルを同時に表示できます。

画面を分割

表示(V)-上下に分割(H)/左右に分割(V)メニューで、窓を/に2分割します。この時、開いているファイルは複製されます。
1つのファイルを2つのビューで表示するのではなく、内部的に二つのファイル(ドキュメント)が存在していることになります。

アクティブビュー

マウスクリックまたはCtrl+Tabで、アクティブなビューを切り換えられます。

ファイルを開く

アクティブなビューにファイルが表示されます。。

便利な比較機能

メニューで比較

移動(J)-ファイルの比較(C)

検索ボタンで比較

検索ボックスが空の状態で、次の検索ボタン (右) を押す。

検索開始

カーソル位置から2つのファイルを比較し、最初の不一致点へジャンプします。
ファイルサイズが違う場合、差分部分は緑色で表示されます。

使用上の注意

終了時にアクティブではないビューのファイルは、変更されていても保存の確認はなされません。
オンメモリモードだと自動的に保存処理。ファイルマッピングモードだと保存前状態まで巻き戻ります (修正予定)

SuperFileCon

SuperFileCon (汎用ファイル操作ライブラリ)

ファイルマッピングとオンメモリのいいとこ取り

 ファイルマッピング、オンメモリの良い点を取り入れた高機能ファイル操作ライ
ブラリです。

高速性

数10MBを越える巨大なファイルも高速な読み込み、保存が可能です。

クラッシュ耐性

 ファイルマッピングの場合、操作中にクラッシュすると中途半端にデータが破壊
される問題がありました。
 SuperFileConは、"上書き保存"/"名前をつけて保存"を押すまで一切ファイルへ
書き込みを行いません。よってクラッシュによるデータ破損の確率が少なくなる
予定です。
 現在はまだ安定していないため、"保存中のクラッシュ"/"バグによるデータ破損"
によるデータ破壊する可能性があります。

挿入/削除/ファイルサイズ拡張が可能

 往来のファイルマッピング方式で不可能だった、"挿入"/"削除"/"ファイルサイズ
拡張"が可能になりました。

SuperFileConのデメリット

取り扱えるのは4GBまで

  4GBを越えるファイルは、最後まで読み込めません。
(内部ポインタが32bitのため)
これは2.0.Xのアップデート(未定)で解決される予定です。

上書き保存中にデータ破損する可能性

  上書き保存は高速に保存できますが、上書き保存中のクラッシュはデータ破損
 発生する可能性が高い確率であります。
  SuperFileConはまだ安定していないのでクラッシュする確率が高いです。

各種サブビュー

ビットマップビュー

表示(V)-ビットマップ表示(B)メニューを実行すると、ファイル全体をビットマップデータとみなして、左側へ表示します。ファイルの値に応じてカラーリングされます。

ビットマップ上でクリックすると、カーソルはクリック位置に対応するアドレスへジャンプします。 この機能は、大きな実行ファイル中で、文字列プールの場所を探す時に便利です。

マウスの右クリックで、ビットマップの表示を変更するメニューが開きます。


  • Width 128 横幅128ドット
  • Width 256 横幅256ドット

  • Zoom 2倍に拡大表示

  • 8bit color I8 1byte/dot ファイルデータ1バイトをカラーパレットへのインデックス値として、BZが生成した256色Safetyパレットから1色参照します。
  • 24bit color R8G8B8 3bytes/dot
  • 32bit color X8R8G8B8 (Xは未使用スキップ) 4bytes/dot

カスタムパレット

  • パレットのサンプルはPallets.zip、またはポータブル版をご覧ください(中身は一緒)
  • ファイルの置き場所は、メニュー → ツール → カスタムパレットの編集 をクリックすると保存フォルダが開きます
  • インストーラー版は%APPDATA%\BzEditor\Pallets, ポータブル版はBz.exeのあるフォルダ下、Palletsフォルダ
  • アルファ値も使えます。上の行から1行ずつ描画

構造体ビュー

ビューの表示

表示(V)-構造体表示(U)メニューで、構造体ビューが表示されます。

操作

「Structures:」リストの中から表示したい構造体名を選び、次に構造体の先頭アドレスをダブルクリックすると、「Members:」リストに、カーソル位置からのデータを構造体のメンバとして表示します。 「Members:」リスト上の各メンバをクリックすると、そのデータの位置へカーソルが移動します。さらに、メンバをダブルクリックすると、検索ボックスから新たなデータを入力できます。(リードオンリモードでは、入力できません) ※Ver1.61より、メンバの最後のをダブルクリックすると、 次の構造体がある場合にはそれを選択し、次のデータ位置へカーソルを移動します。

構造体の追加

構造体リストは、BZ.DEFファイルに記述します。

BZ.defの保存場所

インストーラー版: %AppData%\Roaming\BzEditor\Bz.def
zip版: Bz.exeと同じディレクトリ

両方存在する場合、Bz.exeと同じディレクトリのBz.defが優先して読み込まれます。

書式

書式はC言語風になっています。

変数型

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

1byte,2byte,4byte,       8byte
-----------------------------------------------------
char, short,long(==int), int64  10進表示 (符号あり)
byte, word, dword,       qword  10進表示 (符号なし)
BYTE, WORD, DWORD,       QWORD  16進表示 (符号なし)

            float,       double 浮動小数点
-----------------------------------------------------

例:  dword cx , cy;
     float fPointX;
     BYTE b1;

配列

例: long dfReserved1[4];

ファイル拡張子限定

例: .bmpと.jpgファイルのみ

struct BMPONLY {
  DWORD m1;
} bmp, jpg;

コメント

C言語風のコメントが2種類使用できます。/* comment */ と //コメント

例:
DWORD dwFlag1; //comment1
BYTE  b1; /* comment2 */

インスペクタビュー

どんなデータか分からない時に

どんな種類のバイナリか調べられます。 いろいろな種類のデータ(int, float, doubleなど)と仮定して表示できます。

  • Signed チェック有りで符号有り、チェック無しで符号無し
  • Intel チェック有りでリトル・エンディアン、チェック無しでビッグエンディアン

zlibアナライザー

バイナリに埋もれたzlib圧縮データを見つけ、解凍する

表示(V)-アナライザー表示(A)メニューを実行すると、Zlibアナライザーを、左側へ表示します。ファイル内のzlibデータを探査、解凍できます。

対応フォーマット

探査、解凍に対応しているのは、deflate (無印)で圧縮されたデータのみです。GZipなどのデータには対応しておりません。

簡易探査

Startを押すと大雑把にzlibデータを検索します。探査中はUIがフリーズします。操作できません。 終わると探査結果がリストビューへ表示されます。この探査結果はかなりいい加減なものです。正確ではありません。

詳細探査 & 解凍保存

次に、Save Allを押すと上の探査結果すべてを解凍してみます。 解凍できる正常なデータがある場合、解凍データを保存フォルダへ書き込みます。 解凍できなかったアドレスは上記探査結果から削除され、解凍もされません。

探査結果のリストを選択して、Saveで単体を解凍することもできます。 正しいzlibデータのアドレスだった場合、解凍データが保存フォルダへ保存されます。 zlibデータの誤検知のアドレスだった場合、リストからアドレスが削除され、何も保存されません。

ポータブルモード

ポータブルモード

USBメモリなどに入れて持ち運べる!

EnablePortableMode.txtがBz.exeと同じディレクトリにあると、ポータブルモードに切り替わります。

レジストリへアクセスしない

設定はすべてEnablePortableMode.txtへ書き込まれます。レジストリは使用しません。

その他

Tips

  • マウス中ボタンを押すと、現在のカレットへ飛ぶ
  • マウスの左ボタンをダブルクリックすると、ステータスバーに表示されるカーソル位置のデータ長が、byte/word/dwordと順次切り変わります。
    ステータスバーのこのペインを直接クリックしても切り変えられます。移動(J)-オフセットを加算(O)および編集(E)-値の入力(E)メニューは、このデータ長を元に実行されます。

CHANGELOG

CHANGELOG

1.9.8.5 2016/02/19 (devil.tamachan@gmail.com)

  • (追加) カスタムパレット(.txt形式) http://imgur.com/wQJuX1w
  • (修正) ポータブル版設定ファイルの色表記を#AABBGGRR→#RRGGBBAAにバグ修正

1.9.8.4 2016/01/09 (devil.tamachan@gmail.com)

  • (修正) 引数なしだとエラー
  • (追加) ビットマップビューのカスタムパレット機能(AzPainter2パレット(.apl)ファイル対応)

1.9.8.3 2015/12/31 (devil.tamachan@gmail.com)

  • (修正) 高dpiでサイドバー、ミニツールバーの表示が崩れるバグ (Special Thanks! RuRuRu)
  • (修正) ミニツールバー / 引数 / ウィンドウ自動調整 のバグ修正
  • (追加) ミニツールバーにサイズ項目追加

1.9.8.2 2015/12/24 (devil.tamachan@gmail.com)

  • (修正) ミニツールバーをオン・オフすると例外で死ぬバグ (Special Thanks! RuRuRu)
  • (修正) ミニツールバーで操作したあと、エディット画面にフォーカスが戻るように修正

1.9.8.1 2015/12/23 (devil.tamachan@gmail.com)

  • (修正) 起動時にサブビューが有効だと例外で死ぬ
  • (修正) サブビュー/分割時にウィンドウサイズの自動調整がされない
  • (修正) BZViewの自動サイズ調整の値を調整

1.9.8 2015/12/22 (devil.tamachan@gmail.com)

  • (追加) ミニツールバー
  • (修正) 同期スクロールが有効時、ホイールスクロールだとズレる
  • (修正) 画面分割/サブビューの(非)表示するとカーソル位置/ホイール位置などがリセットされる
  • (修正) XP Visual Styleが効かない
  • (修正) メモリリーク修正

1.9.7 2015/11/25 (devil.tamachan@gmail.com)

  • (修正) Issue 46: 高dpiにすると文字がはみ出る (Special Thanks! RuRuRu)
  • (修正) Issue 47 検索で表示が真っ白になる (Special Thanks! gnanashi0)
  • (修正) Issue 47 コンボボックスのフォントをMFC版と同じに戻した (Special Thanks! gnanashi0)
  • (修正) Issue 47 検索ボックスでキーボードショートカットが使えないバグ (Special Thanks! gnanashi0)
  • (修正) Issue #48 終了時に動作を停止する (Special Thanks! yu-tang)
  • (修正) Issue #49 Ctrl-Tabでフォーカスを戻した時のキー入力 (Special Thanks! RuRuRu)
  • (修正) ファイルの先頭へ移動がバグっていたのを修正
  • (修正) 高dpiでボケる & .manifestが正しく埋め込まれないバグ
  • (修正) 64ビットOSだと英語リソースが読み込まれないバグ
  • (追加) 管理者権限で開く追加
  • (追加) UAC有効下、タイトルバーで管理者権限で実行しているか判別できるように
  • (追加) 構造体ビューをリストビューからツリービューへ変更 +バグ修正
  • (追加) ポータブルモード
  • (修正) スタックの使いすぎ修正
  • (修正) 同期スクロールが効かないバグ
  • (修正) ファイルを開くのを失敗した時メッセージボックスが2度出る

1.9.6 2014/08/10 (devil.tamachan@gmail.com)

  • (修正) Issue 37 ショートカットキーが効かないバグ (Spetial Thanks! gnanashi0)
  • (修正) Issue 37 ダンプリストの保存時に入力したファイル名が反映されないバグ (Special Thanks! gnanashi0)
  • (修正) Issue 37 検索窓のEnterキーが効かないなどのバグ (Special Thanks! gnanashi0)
  • (追加) Issue 38 ショートカットキー追加 (Special Thanks! gnanashi0)
  • (修正) Issue 39 分割表示の際カーソルを新しいビューへ移動 & 分割表示解除時、カーソルが無いビューを削除するよう変更 (Special Thanks! gnanashi0)
  • (修正) Issue 39 分割表示解除時、ファイルの変更が保存されないバグ (Special Thanks! gnanashi0)
  • (追加) Issue 38 ショートカットキー追加 2 (Special Thanks! gnanashi0)
  • (修正) Issue 41 日本語入力が出来ないバグ (Special Thanks! GooChan608)
  • (修正) Issue 41 ステータスバーの"上書/書禁"の切り替えができないバグ (Special Thanks! GooChan608)
  • (修正) "指定アドレスへ", "値の入力"実行時のキャレット移動処理追加
  • (修正) サブビュー無し&左右分割の場合、左のビューのサイズが小さすぎるバグ
  • (修正) 新アドレス表示 & 削除、カットが動かないバグ修正
  • (修正) 常に16桁で表示にもカラー表示追加
  • (修正) Issue 40: 構造体表示が名前しか表示されないバグ
  • (修正) Issue 43: 読み込み時リードオンリーが働いてない
  • (追加) Issue 42: 右クリックメニューがほしい

1.9.5 2014/07/06 (devil.tamachan@gmail.com)

  • (修正) Issue 36 引数にダブルクォートされたファイル名を与えても開けない (Special Thanks: gnanas)
  • (修正) Issue 36 ウィンドウサイズが自動調整されないバグ (Special Thanks: gnanas)
  • (修正) ツールバー、ステータスバー、グリッド表示のメニューを削除 (Special Thanks: gnanas)
  • (追加) [SuperFileCon] 高速保存の追加
  • (追加) 64ビット版を追加
  • (修正) 切り取り、削除、コピーが0xFFFFffff超えると失敗するバグ
  • (修正) 設定パネルを改修
  • (修正) ステータスバーが正しく表示されないバグ
  • (追加) "設定のリセット"を追加

1.9.4 2014/06/01 (devil.tamachan@gmail.com)

  • (修正) コマンドライン引数でファイル名を与えても開かないバグ
  • (修正) ウィンドウと閉じる際にBZDoc2を解放し忘れ
  • (修正) 半バイト分入力時に表示が更新されないバグ / 同じファイルを分割ビューで表示しているとき更新されないバグ

1.9.3 2014/05/31 (devil.tamachan@gmail.com)

  • (修正) Issue 27 スクロールバー操作で落ちます (Special Thanks: gnanas)
  • (修正) Issue 30 UTF8の日本語表示がおかしい (Special Thanks! takamitsu)
  • (追加) Issue 31 BMPビューの旧BZカラーパレットサポート (Special Thanks! g1e2n04)
  • (追加) 4GB超ファイルに対応
  • (追加) 完全WTL化(脱MFC)
  • (修正) UTF16が文字化けする
  • (修正) 新規作成 + SaveAsした場合、GetFilePath()がNULLを返す(パスが更新されない)バグ
  • (修正) SuperFileCon: 一回で50MB以上の削除をすると、保存時にアクセス違反でクラッシュするバグ
  • (修正) キーを押したまま入力中に表示が更新されない / HDDがガリガリする

1.9.2 2013/11/20 (devil.tamachan@gmail.com)

  • (修正) 挿入すると挿入点直後のデータが壊れるバグ (1.9.1で混入)

1.9.1 2013/11/19 (devil.tamachan@gmail.com)

  • (修正) Issue 21 文字コードを UTF-16 にすると "?" が "." と表示される (Special Thanks!: k.yukihiko)
  • (修正) 巨大なファイル(0x80000以上)で削除/挿入した場合、保存時にデータ末尾が壊れるバグ
  • (追加) "名前をつけて保存"実装
  • (修正) 拡張子無しのファイル名で保存できるように修正
  • (修正) エラーメッセージが2重に表示される
  • (修正) 最下ライン(下がかけている場合)のカレットが表示されない
  • (修正) 表示が早くなるようにパラメータの調整

1.9.0 2013/11/08 (devil.tamachan@gmail.com)

  • (修正) インスペクタのfloatがバグってる(Special Thanks!: tettsu)
  • (追加) SuperFileCon (ファイル操作ライブラリ) 搭載 (メモリ使用節約 超高速編集/保存(挿入/削除) Redo実装 ファイルマッピングで不可能だった挿入/削除 保存時以外のクラッシュ時のデータ保護)
  • (修正) ビュー分割時にカーソル位置が復元されないバグ
  • (追加) ファイルを書込可で開けない時、Readonlyで再度開き直す機能
  • (追加) Splitter用アイコンリソース追加
  • (追加) ビットマップビューのアドレス表示機能、キー操作追加、スクロール量の調整
  • (修正) 英語版でビットマップビューの24/32ビット表示が無効になっていたバグ修正
  • (修正) バイトオーダー(モトローラ)でSwapされないバグ
  • (修正) インスペクタビューの1/2/8バイト表示(charなど)の値がバグってる問題
  • (修正) -,999,999のような表示を-999,999のように変更
  • (修正) ShiftJIS文字コード判定を強化
  • (追加) バイト/文字列検索にQuickSearch法を実装
  • (修正) UTF8だと先頭一文字しかマッチしない問題修正
  • (修正) ファイルマッピングで開かれた巨大なファイルの比較が失敗するバグ修正
  • (修正) 一部バイナリ(0xAAAA....(30MB続く))でShift-JIS表示すると半フリーズする2

1.8.4 2013/06/14 (devil.tamachan@gmail.com)

  • (修正) 起動時にサブビューが有効だとウィンドウ横幅が足りてない
  • (修正) zlibアナライザーで'makedir error'が起こるバグ (先バージョンから)
  • (追加) カーソル/スクロール位置の復元機能 (文字コード/分割/各種ビュー変更時)

1.8.3 2013/05/28 (devil.tamachan@gmail.com)

  • (修正) BZ.defのセミコロン抜け修正
  • (修正) BZ.defパーサーの改造(コメント追加、空白無しの記述サポート)
  • (追加) アプリの内部文字コードをMBCS -> Unicodeに変更

1.8.2 2013/04/26 (devil.tamachan@gmail.com)

  • (修正) 再修正: BMPビューが正しく表示されない/クラッシュするバグ
  • (修正) 検索ボックスの計算がされない
  • (変更) chmヘルプをHTMLに変更

1.8.1 2013/04/25 (devil.tamachan@gmail.com)

  • [修正] BMPビューが正しく表示されない/クラッシュするバグ
  • [追加] BMPビューのマウスホイール対応

1.8.0 2013/04/23 (devil.tamachan@gmail.com)

  • [修正] Issue 17 BMPビュー(サブビュー)でクラッシュする

1.7.9 2013/04/20 (devil.tamachan@gmail.com)

  • [修正] Issue9 タスクバーを上に置くと表示座標が起動毎にずれていく
  • [修正] Undo/Redoのバグ修正 ( Issue14 他)
  • [追加] タイトルにオンメモリかファイルマッピングモードか表示

1.7.8 2013/02/13 (devil.tamachan@gmail.com)

  • [修正] BMPビューアーがスクロール時に白くチラつく問題を修正
  • [修正] EBCDIC.defを読み込めないバグ修正
  • [修正] Issue4 zlibアナライザーのリストが他ファイルを開き直した場合クリアされない

1.7.7 2012/12/03 (devil.tamachan@gmail.com)

  • [追加]非アクティブウィンドウも擬似カーソルを表示
  • [修正]ヘルプを加筆訂正

1.7.6 2012/10/24 (devil.tamachan@gmail.com)

  • [修正]2GB以上のファイルを変更し閉じる時、上書き保存確認でいいえを押しても何も起きない(またはクラッシュする)バグを修正
  • [変更]ヘルプ形式をWinHelp(.hlp)からCompiled HTML Help(.chm)に変更。
      圧縮ファイル版に限って、右クリック→プロパティで"ブロックを解除"ボタンを押す必要があります。そうしないとページが表示されません。

1.7.5 2012/10/22 (devil.tamachan@gmail.com)

  • [追加/修正]ファイルマッピング関連の関数の追加/改造
  • [修正]デカイファイルでアナライザでクラッシュすることがあるバグを修正
  • [修正]Zlibアナライザ高速化
  • [修正]コンパイラの変更でMFCのストリングが抜けていた問題を修正

1.7.4 2012/10/18 (devil.tamachan@gmail.com)

  • [修正]ファイルマッピングのコードをいじっていた時に前バージョンで混入したバグ
  • [修正] Issue2 (カレットが0x00地点時、←押すとファイル末端に移動するバグ)

1.7.3 2012/10/11 (devil.tamachan@gmail.com)

  • Zlibアナライザを50倍くらい高速化したぜぇ~?
  • [追加]アナライズビューにSaveとSaveAll追加
  • [修正] Issue2 (カレットが0x00地点時、←押すとファイル末端に移動するバグ)
  • [変更]CBZDoc::QueryMapView1に若干の変更&コメント追加
  • [追加]ATL&WTL追加 (MFCは必須)

1.7.2 2012/09/26 (devil.tamachan@gmail.com)

  • 点滅カレットが起動時に表示されないバグが直ってなかったので再度修正
  • NSISインストーラーのUIをMUI1からMUI2に変更

1.7.1 2012/09/26 (devil.tamachan@gmail.com)

  • クラッシュ対策:レジストリから設定値を読み込む際のチェックを厳格化。古いBzを使った後、新しいBzを使うと一定の条件の場合クラッシュするバグ
  • [バグ修正] ファイルパスを指定して起動すると、点滅カレットが表示されない
  • zlib analyzer追加
  • 起動時にCBZFormView::OnSelchangeListTag()でクラッシュするバグ修正

1.7.0 2012/07/21 (devil.tamachan@gmail.com)

  • 分割表示中バイトオーダーを変えた際、パネルに正しいバイトオーダーが表示されないバグ修正
  • 構造体リスティングへint追加
  • インスペクタビューの8bitsをbitsに変更
  • CToolbarのグリップ部分が描画されない(真っ白)バグ修正
  • いらない初期化やいらないlibがくっついて50kbほど大きくなっていたのを戻す
  • ビットマップ表示の改良(24, 32ビット表示追加)
  • UPX超圧縮版をお遊びで追加

1.6.9 2012/07/16 (devil.tamachan@gmail.com)

  • 1.6.8で右クリック、送るからファイルを開いた時開かないバグ修正
  • 英語版リソースを修正。英語メニューでも使えるように

1.6.8 2012/07/16 (devil.tamachan@gmail.com)

  • KB976038対策(Vista64でSxS関連のエラー,0xC0150010, 0xC015000F)が出る。本当の原因がデバッグできないVistaのバグ。
  • CSplitterWnd::DestroyWindow()にてoleacc.dll(Accessiblity関連)の謎のエラーで落ちるバグ修正。(XPでは発生せ ず、Vistaにて確認。おそらく7も発生)
  • インストーラがBz.defを上書きしてしまうバグを修正
  • UIをXP styleに変更
  • int64追加(符号あり8バイト)
  • インスペクタ実装

1.6.7 2012/06/11 (devil.tamachan@gmail.com)

  • 最大化している状態で分割表示(左右&上下)すると最大化状態のままウィンドウサイズが調整されて変なウィンドウ(最大化できない&サイズ変更不可)になってしまうバグの対策
  • BMPビューアーの強化1
  • あと細々と修正(忘れてしまった…)

1.6.6 2012/06/10 (devil.tamachan@gmail.com)

  • 構造体(8byteタイプ)をダブルクリックした時、GetValueに8バイト要求するため例外が出たバグを修正
     JumpOffsetのGetValueはよくわからないがm_nBytesが8バイト以上の場合は4バイトに丸める処理を追加
  • UACを回避するためBz.defをAPPDATA\BzEditor\Bz.defに移動。
     見つからない場合は往来の読み込み処理(Bz.exeと同ディレクトリのBz.def)

1.6.5 2012/06/09 (devil.tamachan@gmail.com)

https://docs.google.com/open?id=0B7h5NcRw8uVCT01ROGRvUnI5cnc
  • ファイルサイズの違う比較の際、小さいサイズからはみ出した分を違う色(デフォ緑)で表示
  • 同期スクロール搭載
  • NSISでインストーラー作成
  • 色付けの優先度を変更
    (...構造体→比較違い)→(...比較違い→比較はみ出し→構造体)

1.6.4 2012/06/08 (devil.tamachan@gmail.com)

https://docs.google.com/open?id=0B7h5NcRw8uVCQlFsVlI1RGtvRkU
  • 構造体へdouble, QWORD, qword, float実装
  • ファイルサイズが違っても比較できるように
  • VC2005でランタイム静的リンクしました。500kbくらいです
    たぶんバグがあります。
    MFCのCMemFileが4GBオーバーに対応するようになってGetLengthがULONGLONG(8byte)を返すようになっています 。
    GetLengthを使っているところが2ヶ所あってDWORDへの切り捨てWarningが出ていました
    4GB以上はなかなか使わない&面倒なので無視しちゃいました

Bz Ver1.5 01/6/25

  • VC++6.0、フラットツールバー(問題がある場合->BarState)
  • 文字コード対応(EUC,JIS)
  • 文字コード自動認識
  • カラー設定
  • 4分割
  • 日本語/英語メニュー切り替え

  • Copy&Pasteで、最後の1バイトが0になる

  • S-JIS1バイトずれで選択時文字化け
  • 構造体メンバのカラム表示
  • マウスホイール対応(Win98,NT4.0)
  • MボタンでTAB
  • マークはBZDocに
  • プレビューでS-JISの不正文字がはみ出る
  • プリントマージン設定
  • IMEをカーソル位置に。
  • 先頭へ、最後へのジャンプ機能の追加
  • 編集禁止またはサイズがゼロの時のメニュー状態表示を変更
  • すべて選択コマンドを追加
  • 各モードの画面位置を保存。構造体表示モードを保存。
  • ツールバーとステータスバーとフルパスの状態を保存するように変更
  • Win2000で開く、名前を付けて保存のダイアログを最新のものに変更
  • bz.defのedit

  • 巨大なファイルの場合

  • 構造体の拡張子限定

  • 1.05変更履歴
    Win9xでショートカットにドロップでロングファイル名にならない問題を解消
    右ボタンメニューを追加
    アプリケーションキーで右ボタンメニュー表示機能を追加

Special Thanks

Special Thanks

Binary Editor BZ - original version -

Contribute

  • doraneko (BZ1.06)
  • tettsu (Bugfix for Inspector View)
  • tanda.sat (Bugfix for English resource)

Bug-report

  • satou.takashi
  • SHIROUZU Hiroaki
  • nobumasa.tamaoki
  • k.yukihiko
  • gnanashi0
  • takamitsu
  • GooChan608

Feature-request

  • g1e2n04

Libraries

Installer

This Help (Main - css, build script, etc...)

This Help (Compilers - Node.js)

This Help (JavaScript)

  • jQuery (MIT License) --- Copyright 2013 jQuery Foundation and other contributors
  • jQuery.browser.mobile (public domain)
  • HTML5 Shiv (MIT/GPL2 Licensed) --- @afarkas @jdalton @jon_neal @rem
  • prettify.js (Apache License) --- Copyright 2011 Mike Samuel et al