Strumenti a riga di comando per sostituire i byte in un file

3

Ho bisogno di scrivere uno script che rappezzi alcuni byte con un offset particolare in un file binario. Conosco strumenti testuali per questo compito (anche se trovo che sia estremamente difficile da usare) ma non riesco a trovarne uno per le patch binarie. Ce ne sono?

Se non è installato di default, tutto ciò che posso installare con Homebrew sarebbe accettabile.

    
posta Thomas Tempelmann 23.07.2014 - 09:51
fonte

1 risposta

6

Puoi ottenerlo con il comando dd . Ecco un esempio:

$ hexdump StringComparison  | head -1
0000000 cf fa ed fe 07 00 00 01 03 00 00 80 02 00 00 00

$ printf '\x11\x11\x11' | dd of=StringComparison bs=1 seek=4 count=3 conv=notrunc
3+0 records in
3+0 records out
3 bytes transferred in 0.000293 secs (10238 bytes/sec)

$ hexdump StringComparison  | head -1
0000000 cf fa ed fe 11 11 11 01 03 00 00 80 02 00 00 00

Spiegazione:

  • of = file di input
  • bs = dimensione del blocco
  • cerca = posizione (offset)
  • notrunc = non troncare l'output.
risposta data 23.07.2014 - 10:57
fonte

Leggi altre domande sui tag