Editor hexadecimal

Un editor hexadecimal ( eng.  hex-editor ), un editor hexadecimal  es una aplicación para editar datos en la que los datos se presentan en " forma cruda ", como una secuencia de bytes . Puede ser una aplicación independiente o un componente de otra aplicación más compleja, como un desensamblador , un depurador , un entorno de desarrollo integrado , etc.

Para representar el valor de los bytes, se utiliza un sistema numérico hexadecimal ( ing.  hex adecimal ) , que se refleja en el título del editor. La elección del sistema numérico hexadecimal se debe a los siguientes factores:

factores Obviamente, por ejemplo, para plataformas con un byte de 9 bits, se usarían números octales de tres dígitos , y una aplicación similar en funcionalidad se llamaría editor Oct.


Los datos que el editor hexadecimal muestra y permite editar pueden ser:

Interfaz

El editor hexadecimal muestra los datos como una matriz , cada celda de la cual corresponde a un byte , escrito en notación hexadecimal como un número de dos dígitos (con un cero inicial si es necesario). El número de columnas de la matriz es una potencia de dos, más comúnmente 16 u 8 columnas, a veces 4. El número de filas depende del número de bytes para mostrar/editar. En el caso de 16 columnas, una línea corresponde a un párrafo .

Además, a menudo se utilizan elementos adicionales:

La mayoría de los editores le permiten editar tanto en la mitad izquierda como en la derecha (si está disponible). En este caso, los cambios que se están realizando son coherentes [1] .

Los editores simples solo le permiten cambiar el valor de los bytes seleccionados individualmente. Avanzado: edite colecciones de bytes como bloques sólidos [2] , busque por secuencias o patrones de secuencia.

Los editores hexadecimales para editar imágenes de disco pueden incluir funciones para recuperar un sistema de archivos dañado o archivos eliminados accidentalmente.

Uso

Los editores hexadecimales se utilizan para editar datos que no son de texto cuando no se dispone de un programa especializado para editar datos existentes o su uso no está justificado o no es deseable. Un ejemplo sería realizar cambios en un programa compilado sin volver a compilarlo. Por lo tanto, con la ayuda de un editor hexadecimal, puede cambiar los valores de las constantes numéricas y de cadena integradas en el código del programa, si determina su ubicación correctamente.

Si el editor hexadecimal tiene las funciones de un desensamblador, o el programa de destino ya se ha desensamblado con otra herramienta de antemano, y se conoce el desplazamiento, puede realizar un cambio directamente en el código del programa y cambiar su comportamiento. Esto se utiliza para la corrección de errores , la piratería , el engaño , el ajuste manual .

Dado que el editor hexadecimal es una herramienta bastante versátil, no es posible describir todas las opciones para su uso.

Galería

Véase también

Notas

  1. Es decir, los cambios realizados en el lado izquierdo se reflejan inmediatamente en el lado derecho y viceversa.
  2. Por ejemplo, edite 8 bytes como un número de punto flotante de precisión doble .