バイナリファイル内の2バイトを見つけて、それらの2バイトの値を増やし、ファイル内で置き換えようとしています。これらの2バイトは、位置0x82-0x83にあります。今のところ、これを使用してこれらの2バイトを正常に抽出しました。
#!/usr/bin/env bash
BYTES=$(tail -c +131 "$1" | head -c 2)
これらのバイトには値があります1B 1F
。私は立ち往生しています:
- バイトを整数に変換する方法は?
6943
10進数でなければなりません。 - バイナリデータをファイルに追加/エコーする方法
- ファイル内の増加したバイトを位置0x82-0x83に書き込む方法。を使用することもできますが
head -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin
、もっと良い方法があるはずです。
私はそれをPHPで行うことができますが、もっと簡単になるはずですが、bashでこれを行う方法に興味があります。