J'essaie de trouver deux octets à l'intérieur du fichier binaire, puis d'augmenter la valeur de ces deux octets et de les remplacer à l'intérieur du fichier. Ces deux octets sont sur les positions 0x82-0x83. Pour l'instant, j'ai réussi à extraire ces deux octets en utilisant ceci:
#!/usr/bin/env bash
BYTES=$(tail -c +131 "$1" | head -c 2)
Ces octets ont une valeur: 1B 1F
. Je suis coincé avec:
- Comment convertir des octets en entier? Il doit être
6943
décimal. - Comment ajouter / faire écho des données binaires dans un fichier
- Comment écrire des octets accrus à l'intérieur du fichier sur les positions 0x82-0x83. Je pourrais utiliser
head -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin
, mais il doit y avoir une meilleure façon.
Je pourrais faire ça en PHP, ça devrait être plus facile, mais je suis intéressé par comment faire ça en bash.