3 votos

Herramientas de línea de comandos para reemplazar bytes en un archivo

Necesito escribir una secuencia de comandos que los parches de unos pocos bytes en un determinado desplazamiento en un archivo binario. Sé textuales de herramientas para esta tarea (sed, a pesar de que me parece absolutamente difícil de usar), pero no puede encontrar uno para la revisión binaria. ¿Hay alguna?

Si no se instala por defecto, algo que puede instalar con Homebrew sería aceptable como bien.

6voto

hjdm Puntos 18

Usted puede lograr con dd comando. He aquí un ejemplo:

$ 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

Explicación:

  • de = archivo de entrada
  • bs = tamaño de bloque
  • buscar = posición (offset)
  • notrunc = no truncar la salida.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X