En el artículo de hoy os voy a hablar de la herramienta xxd, que nos permitirá crear un volcado hexadecimal de un ficheros o entrada estándar. Este comando también permite convertir un volcado hexadecimal de nuevo a su forma binaria.

Esta herramienta la he conocido a raíz de un comentario de un usuario en la web. Gracias a él y a todos los que hacéis posible este proyecto con vuestras visitas y feedback.

Xxd, una herramienta para trabajar con código binario y hexadecimal

GNU/Linux nos brinda gran cantidad de productos para la manipulación hexadecimal y binaria. Xxd es uno de los más populares.

Personalmente me recuerda mucho a “Norton Commander” Programa que utilizaba en los años noventa del siglo pasado, en el sistema MS-DOS que tenía instalado en el equipo con procesador 286. Mis hermanos y yo lo utilizábamos para ver y modificar los ficheros de los juegos. Como por ejemplo cambiar las características de los jugadores en el juego “Italia 90”

Xxd ya viene preinstalado en la mayoría de las distribuciones GNU/Linux, para ver sus principales características y funcionamiento debemos escribir:

1 $ xxd -h $ xxd -h

Tal y como se muestra en la imagen:

La sintaxis para trabajar con el comando es:

1 $ xxd [ opciones ] [ fichero de entrada [ fichero de salida ] ] $ xxd [opciones] [fichero de entrada [fichero de salida]]

Volcado a hexadecimal

Podemos volcar a hexadecimal un fichero, simplemente indicando el nombre del archivo. En el ejemplo volcaremos un fichero ‘Makefile’

1 $ xxd Makefile.in $ xxd Makefile.in

Con el resultado:

Volcar desde la línea de comandos o entrada estándar

También podemos interactuar directamente con el comando, desde la línea de comandos, escribiendo:

1 $ xxd – $ xxd –

Si queremos salir de programa debemos utilizar la combinación de CTRL+D

Tal y como se muestra en la imagen

Establecer índice de inicio

Mientras se descargan desde un archivo, puede haber una gran cantidad de datos que no nos interesan. Así que simplemente los saltamos. Xxd proporciona la opción -s para saltar al índice especificado. En este ejemplo, omitiremos las primeras 5 líneas y comenzaremos desde 6. línea.

Como sigue:

1 $ xxd -s 0x50 Makefile.in $ xxd -s 0x50 Makefile.in

Una muestra:

También podemos acotar la información mostrada entre un índice de inicio y otro de final. Añadiendo el parámetro -l, de esta manera:

1 $ xxd -s 0x50 -l 0x100 Makefile.in $ xxd -s 0x50 -l 0x100 Makefile.in

El resultado tal y como se muestra en la imagen:

Por último, que no menos importante, podemos cambiar el tamaño de información mostrada en la columna, que por defecto es 16. Podemos modificar este valor con el parámetro -c , que proporciona el valor de longitud. Vamos a cambiar dicho valor a 24.

1 $ xxd -s 0x50 -l 0x100 -c 24 Makefile.in $ xxd -s 0x50 -l 0x100 -c 24 Makefile.in

Con el resultado:

Y esto es todo. Espero que os haya parecido interesante.

Fuentes consultadas:

Poftut.com – How To Use Linux Xxd Command Tutorial For Hex and Binary Operations With Example?