BINPATCH バイナリファイルをパッチする

書法

BINPATCH [ filename ]* [ options ]*

SHELLMODE

@記述、!記述、^記述

詳細

バイナリファイルにパッチする。
ファイル名を省略すると、何もしない。 複数のファイルを指定すると、それらに同じパッチを当てる。
パッチを当てたファイル名を標準出力する。 指定のファイルは直接パッチされるので注意すること。

パッチソースは、-Pで直接バイト記述するか、-Fで ファイルを指定する。 これらは複数記述しても、混在記述しても良い。 複数記述した場合は、コマンドラインに現れた順にパッチを行う。
パッチする範囲は、パッチ対象のファイルの中に収まっていなければならない。
現在のバージョンでは、パッチデータをメモリ中に置くので、大きなパッチをしてはならない。

数値の記述

数値はデフォルトで16進数で記述する。
基数の切替えは、 -d -hで出来る。 これらのオプションが現れると、それ以降のオプションでの基数はそれに切り替わる。
基数の指定に関わらず、数値の前に$があれば、16進数。 &があれば、10進数と解釈する。 さらに、%があれば、2進数と解釈する。

OPTION

-D
以降のアドレス、データ記述を10進数とする。
-Faddress:filename
ファイルによるパッチを指定する。
-H
以降のアドレス、データ記述を16進数とする。デフォルトである。
-Ofilename
出力を指定のファイルに切替える。
-Paddress:[data[[count]] ]*
直接パッチデータを記述する。ここに書けるのはバイトデータのみである。
[count]の形式でデータの繰り返しを指定できる。
-N
標準出力をしない。

戻り値

成功すれば1を返す。それ以外では0

用例