Operaciones binarias y hexadecimales con xxd en GNU/Linux

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

Tal y como se muestra en la imagen:

Salida del comando xxd (click en la imagen para ampliar)

La sintaxis para trabajar con el comando es:

1
$ 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

Con el resultado:

Funcionamiento xxd (click para ampliar)

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 –

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

Tal y como se muestra en la imagen

Volcado interactivo (click para ampliar)

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

Una muestra:

Saltar a una línea específica en Xxd

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

El resultado tal y como se muestra en la imagen:

Acotar el resultado (click en la imagen para ampliar)

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

Con el resultado:

Modificamos el valor de los octetos (click para ampliar)

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?

2 Respuestas

  1. Percaff_TI99 dice:

    También tenía una PC AT-286 1MB de Ram 42 megas en disco, y el Italy 90 era el juego estrella en casa, a veces eramos unos cuantos y había que hacer turnos. En esa época era un privilegio tener una PC en el hogar. Recuerdo que utilizaba un truco: siempre jugaba por el carril derecho bien extremo y llegando cerca del área encaraba unos metros en diagonal y pateaba al arco, nunca fallaba -era un punto ciego del juego-. Aún conservo el PC (desarmado). Vas a tener que poner una sección para nostálgicos jajaja.

    Volviendo al tema, conocí este comando (xxd) en la película “Blackhat: amenaza en la red”: Nicholas Hathaway (Chris Hemsworth) apenas abría un terminal ya estaba ejecutando código hexadecimal, observando detenidamente vi que utilizaba xxd. El Midnight Commander (MC) también tiene la opción Hex/Ascii pero el que mencionas es mucho más versátil al igual que hexdump -otro similar-.

    Saludos.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
A %d blogueros les gusta esto: