Tengo un archivo con datos binarios y necesito reemplazar unos pocos bytes en una posición determinada. Yo he llegado con el siguiente golpe para dirigir a la compensación y me muestran que ha encontrado el lugar que quiero:usando bash: escribir la representación de bits del entero en el archivo
dd bs=1 if=file iseek=24 conv=block cbs=2 | hexdump
Ahora, para utilizar "archivo" como la salida:
echo anInteger | dd bs=1 of=hextest.txt oseek=24 conv=block cbs=2
Esto parece funcionar bien, puedo revisar los cambios realizados en un editor hexadecimal. El problema es que "anInteger" se escribirá como la representación ASCII de ese entero (lo cual tiene sentido) pero necesito escribir la representación binaria.
Quiero usar bash para esto y la secuencia de comandos debe ejecutarse en tantos sistemas como sea posible (no sé si el sistema de destino tendrá python o lo que sea).
¿Cómo le digo al comando que convierta la entrada en binario (posiblemente desde un hex)?
Es posible que desee utilizar xdelta para esto, es bastante común que pueda ser "universal" para usted. – MikeyB
No estoy seguro de lo que quiere decir con "xdelta". No hay tal comando en mi caparazón ... –