Estou tentando encontrar dois bytes dentro do arquivo binário, aumente o valor desses dois bytes e os substitua dentro do arquivo. Esses dois bytes estão nas posições 0x82-0x83. Por enquanto, extraí com êxito esses dois bytes usando este:
#!/usr/bin/env bash
BYTES=$(tail -c +131 "$1" | head -c 2)
Esses bytes têm valor: 1B 1F
. Estou preso com:
- Como converter bytes em número inteiro? Deve ser
6943
decimal. - Como acrescentar / ecoar dados binários no arquivo
- Como escrever bytes aumentados dentro do arquivo nas posições 0x82-0x83. Eu poderia usar
head -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin
, mas deve haver uma maneira melhor.
Eu poderia fazer isso no PHP, deveria ser mais fácil, mas estou interessado em fazer isso no bash.