Estoy tratando de encontrar dos bytes dentro del archivo binario, luego aumentar el valor de esos dos bytes y reemplazarlos dentro del archivo. Esos dos bytes están en las posiciones 0x82-0x83. Por ahora, he extraído con éxito esos dos bytes usando esto:
#!/usr/bin/env bash
BYTES=$(tail -c +131 "$1" | head -c 2)
Estos bytes tienen un valor: 1B 1F
. Estoy atrapado con:
- ¿Cómo convertir bytes a entero? Debería ser
6943
decimal. - Cómo agregar / hacer eco de datos binarios al archivo
- Cómo escribir bytes aumentados dentro del archivo en las posiciones 0x82-0x83. Podría usar
head -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin
, pero debe haber una mejor manera.
Podría hacer eso en PHP, debería ser más fácil, pero estoy interesado en cómo hacer esto en bash.