Introducción
El comando xxd es una herramienta versátil presente en casi todas las distribuciones Linux que permite crear volcados hexadecimales de archivos y, al mismo tiempo, revertir ese proceso para obtener el archivo original. Su sintaxis sencilla y sus múltiples opciones lo convierten en un aliado indispensable para desarrolladores, administradores de sistemas y cualquiera que necesite inspeccionar o modificar datos a nivel binario.
¿Qué es xxd?
Originalmente parte del paquete vim, xxd funciona como un convertidor entre representación binaria y hexadecimal. Puede mostrar el contenido de un archivo en formato hexadecimal con direcciones offset y representación ASCII, o bien leer un volcado hexadecimal y reconstruir el binario.
Crear un volcado hexadecimal
Para generar un volcado básico basta con redirigir la salida de xxd a un archivo:
xxd archivo > archivo.hexxxd -p archivo > archivo.hex(salida plana, solo hexadecimal sin direcciones)xxd -c 16 archivo > archivo.hex(define el número de bytes por línea, por defecto 16)
Opciones útiles al crear volcados
-l longitud: limita la salida al número especificado de bytes.-s offset: inicia el volcado desde un desplazamiento determinado (en decimal, octal con 0o o hexadecimal con 0x).-u: emplea letras mayúsculas para los dígitos A‑F, lo que puede mejorar la legibilidad en ciertos contextos.
Revertir un volcado hexadecimal
El proceso inverso se realiza con la opción -r (revert). Dependiendo del formato del volcado se usan variantes:
xxd -r archivo.hex > archivo(revertir un volcado con direcciones y ASCII)xxd -r -p archivo.hex > archivo(revertir un volcado plano, solo hexadecimal)
Ejemplos prácticos
A continuación algunos escenarios donde xxd resulta particularmente útil:
- Inspeccionar la cabecera ELF de un ejecutable:
xxd -l 64 /bin/lsmuestra los primeros 64 bytes, suficientes para ver el número mágico y el tipo de archivo. - Modificar un byte específico: crear un volcado, editar el valor hexadecimal con un editor de texto y volver a empaquetarlo con
xxd -r. - Comparar dos binarios sin ejecutarlos: generar volcados planos y usar
diffpara detectar diferencias a nivel de bytes.
Consejos y buenas prácticas
- Siempre trabaja sobre una copia de seguridad del archivo original antes de aplicar cambios mediante volcados.
- Utiliza
xxd -pcuando necesites un flujo puro de hexadecimal para canalizarlo a otras herramientas comogreposed. - Combina
xxdconodohexdumpsegún prefieras la representación offset o el formato plano.
Conclusión
El comando xxd es una herramienta ligera pero potente que simplifica la creación y reversión de volcados hexadecimales en Linux. Dominar sus opciones básicas y avanzadas te permitirá inspeccionar, depurar y modificar datos binarios con precisión, ahorrando tiempo y evitando errores en tareas de bajo nivel.


