バイナリエディタ「hexedit」に対するパッチです.
当然無保証.各自の責任で利用すること.
もともとはプレゼンでの利用の際に,カーソル位置が伝わりにくかったりするのを なんとかしたくて作成したものですが,その他にも自分自身が使いやすくするための 修正をいくつか入れてあります.
もともとは
「フィーリングで読むアセンブラ入門」の紹介ページ
でパッチを配布していたのですが,さらに --color による色付き表示まわりを強化
したので,こちらに専用ページを新たに設置して配布しなおすことにしたものです.
※ プレゼンで使うときにプロジェクタだと見にくいときがあり,
現場で色のチューニングをできるようにしたかったのです.
旧パッチでの修正もすべてとりこんであるので,こちらのパッチを当てるならば 旧パッチを当てる必要はありません. またFreeBSDのportsのパッチも取り込んであるため,portsに対して (パッチファイルを入れ換える形で)そのまま適用することもできます. (詳しい方法は後述)
オリジナルのhexeditに対して以下の対応が入っています.
(パッチ当て後,通常状態)
|
(パッチ当て前,通常状態)
|
(パッチ当て後,ASCIIにフォーカス)
|
(パッチ当て前,ASCIIにフォーカス)
|
以下でパッチ当てして hexedit をビルドできます.
% tar xvzf hexedit-1.2.12.src.tgz x hexedit/hexedit.h x hexedit/hexedit.c ... % unzip hexedit-1.2.12-patch-2.zip Archive: ../hexedit/hexedit-1.2.12-patch-2.zip creating: hexedit-patch/ inflating: hexedit-patch/patch-display.c ... % cd hexedit % patch < ../hexedit-patch/patch-display.c % patch < ../hexedit-patch/patch-hexedit.c % patch < ../hexedit-patch/patch-hexedit.h % patch < ../hexedit-patch/patch-interact.c % patch < ../hexedit-patch/patch-search.c % ./configure % make % su # make install
以下のような手順です.
# cd /usr/ports/editors # mv hexedit hexedit.orig # cp -R hexedit.orig hexedit # cd hexedit/files # ls patch--search.c patch-hexedit.h # rm patch-* # cp /tmp/hexedit-patch/* . # cd .. # make # make install
WindowsのDOS窓から利用できます. 実行ファイルのアイコンにドラッグ&ドロップすることで 起動することもできますので,簡単なバイナリビューワとして使うものいいでしょう.
hexedit-1.2.13-win.zip を展開し,hexedit.exe を実行してください.hexedit-1.2.13-win.zip はビルド時のディレクトリをそのままアーカイブして あります.利用には不要と思われるようなファイルも含まれているかもしれませんが, ライセンス表記の保持のためにあえてそうしています. ライセンスは添付されているファイル及び各種ソースコードを参照してください.
ビルドはFreeBSD-10.2の環境で,以下のようにして行っています. portsインストールしたmingw32-gccを利用しています. cursesライブラリにはPDCurses(public domain curses library)を利用しています.
(ビルドに必要なパッケージのインストール)
% su # pkg install mingw32-bin-msvcrt # pkg install mingw32-binutils # pkg install mingw32-gcc # pkg install mingw32-pdcurses
(ビルド作業)
% tar xvzf hexedit-1.2.13.src.tgz % unzip hexedit-1.2.13-patch.zip % unzip hexedit-1.2.13-patch-win.zip % cd hexedit % patch < ../hexedit-patch/patch-display.c % patch < ../hexedit-patch/patch-hexedit.c % patch < ../hexedit-patch/patch-hexedit.h % patch < ../hexedit-patch/patch-interact.c % patch < ../hexedit-patch/patch-search.c % patch < ../hexedit-patch-win/patch-Makefile.in % patch < ../hexedit-patch-win/patch-config.h.in % patch < ../hexedit-patch-win/patch-display.c % patch < ../hexedit-patch-win/patch-file.c % patch < ../hexedit-patch-win/patch-interact.c % ./configure % make