Cuando se trata de archivos inusuales, mirar los bits reales que componen el archivo puede ser muy valioso. Por lo menos, puede leer los encabezados del archivo y descifrar su propósito. La edición de 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?
¿Qué es el código hexadecimal?
En informática, 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 espacio numérico más grande, se pueden expresar varios dígitos binarios en un solo dígito hexadecimal. Cada dígito hexadecimal expresa cuatro dígitos binarios. Si recuerda su binario, sabrá que medio byte tiene exactamente 16 valores posibles, la misma cantidad de valores que puede tener un dígito hexadecimal. Examina la siguiente tabla para ver las equivalencias.
Combine dos números hexadecimales y podrá expresar ocho bits de información. Eso es equivalente a un byte con treinta y dos valores posibles. Un solo byte va de 0000 0000 a 1111 1111. En hexadecimal, eso es 00 a FF, respectivamente. Al escribir valores hexadecimales como una serie de pares, puede «fragmentar» fácilmente los datos binarios de un archivo en bytes.
Esencialmente, hexadecimal y binario proporcionan diferentes «marcos» para los mismos datos subyacentes. Los humanos pueden leer hexadecimal 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 hexadecimal, binario y octal pueden tener el mismo aspecto a primera vista, este prefijo reservado evita confusiones y reduce los errores.
Por ejemplo, 0x2FF0C4
describe una dirección hexadecimal en la memoria equivalente a un valor binario de 0010 1111 1111 0000 1100 0100
y un valor decimal de 3,141,828
. Solamente 2FF0C4
cuenta como parte del valor. El líder 0x
los caracteres solo indican el sistema numérico.
Cuando un documento completo se procesa como hexadecimal, los valores se muestran como pares, como FF A0 2D CE
. Esto separa de manera útil los valores en cadenas de longitud de bytes, lo que facilita el análisis para los humanos.
Ver y editar código hexadecimal en macOS
Necesitará una aplicación de visor hexadecimal para ver el 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 está enfocada a la interpretación clara y rápida de valores hexadecimales. Es una introducción rudimentaria pero útil a los editores hexadecimales.
- ¡Sincronízalo! es un intérprete hexadecimal de pago de nivel profesional con codificación de colores integrada de valores para el análisis visual de archivos. También incluye un enorme depósito de «gramáticas». Estos aplican estructuras de archivo conocidas al código hexadecimal. Estos marcos lo ayudan a comprender, interpretar la búsqueda y editar el código hexadecimal.
Una vez que tenga cualquiera de las aplicaciones, puede 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á valores hexadecimales a la izquierda con la interpretación ASCII de esos valores a la derecha. De esta manera puede «leer» el archivo y comenzar a comprender lo que está sucediendo.
Los editores hexadecimales también pueden editar código hexadecimal. 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 bytes, sobrescribiendo y reemplazando dos valores simultáneamente. Si no tiene mucho cuidado, puede corromper un archivo funcional instantáneamente. Para protegerse contra esta fragilidad, siempre duplique un archivo antes de editar su código hexadecimal.
Conclusión: ¿Para qué se utilizan los editores hexadecimales?
Simplemente abrir archivos aleatorios en un editor hexadecimal puede ser divertido. Sin embargo, no es muy útil. Existe una estrecha gama de circunstancias en las que los editores hexadecimales muestran su calidad. Si necesita ver y editar código binario, los editores hexadecimales son la mejor herramienta para el trabajo.
Por ejemplo, al escribir un programa que genera datos binarios, debe inspeccionar manualmente la calidad de los archivos. También pueden ayudar a recuperar o analizar archivos corruptos de terceros. Los editores hexadecimales pueden abrir cualquier archivo, ya sea dañado o no válido. Esto significa que a veces puede «arreglar» un archivo dañado con un editor hexadecimal o al menos determinar qué está causando el error. Si necesita realizar 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 amplia utilidad, cualquier persona interesada en los aspectos básicos de la informática y la programación haría bien en familiarizarse con un editor hexadecimal.