Visualización y Edición de Código Hexadecimal en macOS

Al tratar con archivos inusuales, observar los bits reales que componen el archivo puede ser de gran valor. Si nada más, puedes leer los encabezados del archivo y descifrar su propósito. Editar código hexadecimal es un asunto complejo, pero se puede hacer con una variedad de editores hexadecimales en macOS. ¿Qué es el código hexadecimal y por qué vale la pena examinarlo?

También lee: ¿Cuáles son las diferencias entre binario, decimal y hexadecimal?

¿Qué es el Código Hexadecimal?

En computación, el hexadecimal proporciona una forma más concisa de representar valores binarios. Utiliza un sistema numérico de base 16 en lugar de la base 2 del binario. Gracias al mayor espacio numérico, múltiples dígitos binarios pueden expresarse en un solo dígito hexadecimal. Cada dígito hexadecimal expresa cuatro dígitos binarios. Si recuerdas tu binario, sabrás que medio byte tiene exactamente 16 valores posibles, el mismo número de valores que puede tener un dígito hexadecimal. Examina la tabla a continuación para ver las equivalencias.

valores equivalentes hexadecimal-decimal-binario

Combina dos números hexadecimales y puedes expresar ocho bits de información. Eso es equivalente a un byte con treinta y dos valores posibles. Un solo byte varía de 0000 0000 a 1111 1111. En hexadecimal, eso es de 00 a FF, respectivamente. Al escribir valores hexadecimales como una serie de pares, puedes “fragmentar” fácilmente los datos binarios de un archivo en bytes.

Esencialmente, el hexadecimal y el binario proporcionan diferentes “marcos” para los mismos datos subyacentes. Los humanos pueden leer hex fácilmente, mientras que las computadoras pueden leer binario fácilmente.

Convenciones para Leer y Escribir Valores Hexadecimales

Al escribir valores hexadecimales, los caracteres 0x pueden comenzar el valor. Estos caracteres etiquetan los siguientes valores como hexadecimales. Dado que el hex, binario y octal pueden parecer iguales a primera vista, este prefijo reservado evita confusiones y reduce errores.

Por ejemplo, 0x2FF0C4 describe una dirección hexadecimal en memoria equivalente a un valor binario de 0010 1111 1111 0000 1100 0100 y un valor decimal de 3,141,828. Solo 2FF0C4 cuenta como parte del valor. Los caracteres 0x iniciales solo indican el sistema numérico.

Cuando se procesa un documento completo como hexadecimal, los valores se muestran como pares, como FF A0 2D CE. Esto separa útilmente los valores en cadenas de longitud de byte, facilitando su análisis para los humanos.

Visualización y Edición de Código Hexadecimal en macOS

Necesitarás una aplicación de visualización hexadecimal para ver código hexadecimal en macOS. Hay algunas opciones gratuitas disponibles.

  • 0xED es un codificador gratuito y simple que ofrece algunas opciones de personalización. La aplicación se centra en la interpretación clara y rápida de los valores hexadecimales. Es una introducción rudimentaria pero útil a los editores hexadecimales.

editor hexadecimal 0xed

  • Synalyze It! es un intérprete hexadecimal de grado profesional, de pago, con codificación de colores incorporada para el análisis visual de archivos. También incluye un enorme repositorio de “gramáticas”. Estas aplican estructuras de archivos conocidas al código hexadecimal. Estos marcos te ayudan a entender, interpretar, buscar y editar el código hex.

editor hexadecimal synalyze it

Una vez que tengas cualquiera de las aplicaciones, puedes abrir cualquier archivo para ver el código binario subyacente presentado en valores hexadecimales. Esto es más útil para ciertos tipos de archivos que para otros, pero en la mayoría de los casos verás valores hexadecimales a la izquierda con la interpretación ASCII de esos valores a la derecha. De esta manera, puedes “leer” el archivo y comenzar a comprender lo que está sucediendo.

Los editores hexadecimales también pueden editar código hex. Sin embargo, no es tan simple como editar texto, ni es tan indulgente. Los editores hexadecimales editan el código en pares de longitud de byte, sobrescribiendo y reemplazando dos valores simultáneamente. Si no tienes mucho cuidado, puedes corromper un archivo funcional instantáneamente. Para protegerte contra esta fragilidad, siempre duplica un archivo antes de editar su código hex.

También lee: Usando un Editor Hexadecimal en Linux

Conclusión: ¿Para Qué Se Usan los Editores Hexadecimales?

Simplemente abrir archivos aleatorios en un editor hexadecimal puede ser divertido. Sin embargo, no es muy útil. Hay un rango limitado de circunstancias en las que los editores hexadecimales muestran su calidad. Si necesitas ver y editar código binario, entonces los editores hexadecimales son la mejor herramienta para el trabajo.

Por ejemplo, al escribir un programa que genera datos binarios, deberías inspeccionar manualmente los archivos para verificar su calidad. También pueden ayudar a recuperar o analizar archivos de terceros corruptos. Los editores hexadecimales pueden abrir cualquier archivo, ya sea corrupto o inválido. Esto significa que a veces puedes “arreglar” un archivo corrupto con un editor hexadecimal o al menos determinar qué está causando el error. Si necesitas hacer una edición precisa en un archivo del sistema, como cambiar una dirección de memoria en un kext, un editor hexadecimal es la única herramienta para el trabajo. Gracias a su utilidad generalizada, cualquier persona interesada en los detalles de la computación y la programación haría bien en familiarizarse con un editor hexadecimal.