(Click here to evaluate this HTML)

フリーソフト binedit

このプログラムは、dump(バイナリファイルを文字コードに変換)およびundump(dumpの逆)をするプログラムです。このプログラムの著作権は全て私 yh8888が所有します。

概要

binedit は、dump と undump をするソフトです。

Dump機能では、任意のファイルを、文字コードを並べたファイルにするわけですが、指定した文字数毎に改行や空白を入れられます。ソース(C言語)プログラムのある部分を書き換えれば、改行や空白の代わりに別な文字を挿入できたりします。

Undump機能は、dump機能の逆操作ですが、入力ファイルは特定のフォーマットではなく、ただ文字コードが並んでいればOKです。

実行の仕方は、MS-DOS なり Windows のコマンドプロンプトなり UNIX なり、コマンドラインから引数を与えて実行します。

おまけとして、引数無しで実行すると対話型実行になります。

主な用途は、バイナリファイルの編集、バイナリファイルの電子メールへの添付等です。発想次第で色々使えるでしょう。

対応OS

コマンドラインからしか使えませんのでご注意下さい。今の所、コマンドライン以外のユーザインタフェースを使用する予定はありません。

MS-DOS, Windows3.1, 95, 98, Meの場合、MS-DOS上で動いている為、ファイル名はlong filenamesが使えません。long filenameを持つファイルを扱いたい場合には、入力ファイル名は8.3ファイル名を調べて入力して下さい。出力ファイルは8.3ファイル名で出力してからrenameして下さい。

ダウンロード … ソースも含まれています。
実行ファイル

PC-9800, DOS/V については、ダウンロードしたアーカイブ中の“exe/dos/binedit.exe”をご利用になれます。UNIXについてはソースをコンパイルして下さい。

免責等
作者は、このソフトの使用によるいかなる損害も補償しません。が、もしもバグが見つかったり、或いは使いにくい等の苦情等は、遠慮無くにメールを下さい。暇があればきっと直すでしょう。利用者の声はソフト改善に大きく貢献します。
扱うファイルのサイズ

私の2000-07-19現在の環境(Pentium III 600BE[MHz])では、状況により多少変わるかも知れませんが、実行速度は毎秒約1.4[MB]です。実行速度を考えればファイルサイズは5[MB](bin 5[MB], txt 10[MB])程度迄が適当でしょう。そもそもあまり大きいと、テキストエディタが対応できないでしょう。

大きいファイルについては、分割·統合ソフト(私は自作のを使用しているが非公開)で必要な箇所を切り出すのが妥当でしょう。なお、ver.0.0604から、“入力ファイルの__バイト目から__バイト目までをdumpする”という指定ができるようになりました。

用途例
コンパイルの仕方
コンパイルにはCコンパイラが必要です。TURBO C と cygwin と gcc には対応していると思います。
使い方

&lqduo;binedit.exe -h”とすれば次のような説明が表示されます。

command-line> binedit.EXE -h
Binary file reader/writer for editing "binedit" by yh8888  ver.0.0612
Usage :
  binedit.exe [r [--from n] [--to n] [--size n] [infile [outfile [width1 [width2]]]]]
  binedit.exe [w [infile [outfile]]]
  <<commands>> r : Read binary file  w : Write binary file

  binedit.exe -h

Widths can be 0, 2, 3, 4, ... .  width1 defaults to 64 and width2 to 0.
Please report bugs, requirements, etc. to "yh8888@geocities.co.jp".

command-line>
r

dump (i.e. バイナリ → 文字コード)

width1
width1文字毎及びファイル末に改行を挿入
width2
width2文字毎に空白を挿入
w
undump (i.e. 文字コード → バイナリ)
--from, --to, --size

入力ファイルのどこからどこまでをdumpするかを指定する。開始点、終了点、(終了点-開始点) の3つのうち2つをバイト数で指定する。バイト数の数え方は、例えば8[Bytes]のファイルは0,…,7と数えて、全体をdumpするなら0以上8未満の8[Bytes]ということで“--from 0 --to 8”あるいは“--from 0 --size 8”とする。

widths

をご覧下さい。

使用例

8888's top pageyh8888のトップページへ