stringtranslate.com

volcado hexadecimal

En informática , un volcado hexadecimal es una vista textual hexadecimal (en pantalla o en papel) de datos de computadora (a menudo, pero no necesariamente binarios ), desde la memoria o desde un archivo de computadora o dispositivo de almacenamiento . La observación de un volcado de datos hexadecimal generalmente se realiza en el contexto de depuración , ingeniería inversa o análisis forense digital . [1] Los editores interactivos que proporcionan una vista similar pero también manipulan los datos en cuestión se denominan editores hexadecimales .

En un volcado hexadecimal, cada byte (8 bits ) se representa como un número hexadecimal de dos dígitos . Los volcados hexadecimales suelen organizarse en filas de 8 o 16 bytes, a veces separados por espacios en blanco. Algunos volcados hexadecimales tienen la dirección de memoria hexadecimal al principio.

Algunos nombres comunes para esta función del programa son hexdump, hd, ody xxdsimplemente dumpo incluso D.

Muestras

Un archivo de texto de muestra:

0123456789ABCDEF/* ********************************************** */Tabla con TABs (09)1 2 33,14 6,28 9,42

como lo muestra Unix hexdump :

0000000 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 0000010 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0000020 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a0000040 000006 0 32 09 09 33 0a 09 33 2e 31 34 09 36 2e32 38 09 0000070 39 2e 34 32 0a 0000075                                                                                                       

La columna más a la izquierda es el desplazamiento (o dirección) hexadecimal de los valores de las siguientes columnas. Cada fila muestra 16 bytes, con la excepción de la fila que contiene un único archivo *. El * se utiliza para indicar que se omitieron múltiples apariciones de la misma visualización. La última línea muestra el número de bytes tomados de la entrada.

Una columna adicional muestra la traducción de caracteres ASCII correspondiente con hexdump -Co hd:

00000000 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 | 0123456789ABCDEF | 00000010 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | ./* ************ | 00000020 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | **************** | * 00000040 2a 2a 20 2a 2f 0a 09 54 61 62 6c 65 20 77 69 74 | ** */..Mesa ingenio | 00000050 68 20 54 41 42 73 20 28 30 39 29 0a 09 31 09 09 | h PESTAÑAS (09)..1.. | 00000060 32 09 09 33 0a 09 33 2e 31 34 09 36 2e 32 38 09 | 2..3..3.14.6.28. | 00000070 39 2e 34 32 0a | 9.42. | 00000075                                                                                                            

Esto resulta útil cuando se intenta localizar caracteres TAB en un archivo que se espera que utilice varios espacios.

La -vopción hace que hexdump muestre todos los datos detalladamente:

00000000 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 | 0123456789ABCDEF | 00000010 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | ./* ************ | 00000020 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | **************** | 00000030 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a | **************** | 00000040 2a 2a 20 2a 2f 0a 09 54 61 62 6c 65 20 77 69 74 | ** */..Mesa ingenio | 00000050 68 20 54 41 42 73 20 28 30 39 29 0a 09 31 09 09 | h PESTAÑAS (09)..1.. | 00000060 32 09 09 33 0a 09 33 2e 31 34 09 36 2e 32 38 09 | 2..3..3.14.6.28. | 00000070 39 2e 34 32 0a | 9.42. | 00000075                                                                                                                             

sobredosis

El comando POSIX [2] se puede utilizar para mostrar un volcado hexadecimal con la opción -tx.

# od  -tx1  tableOfTabs.txt 0000000 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 0000020 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0000040 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a * 0000100 2a 2a 20 2a 2f 0a 09 54 61 62 6c 65 20 77 69 74 0000120 68 20 54 41 42 73 20 28 30 39 29 0a 09 31 09 09 0000140 32 09 09 33 0a 09 33 2e 31 34 09 36 2e 32 38 09 0000160 39 2e 34 32 0a 0000165

Las evaluaciones de personajes se pueden agregar con la opción -c:

0000000 0 1 2 3 4 5 6 7 8 9 ABCDEF 30 31 32 33 34 35 36 37 38 39 41 42 43 44 45 460000020 \n / * * * * * * * * * * * * * 0a 2f 2a 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a0000040 * * * * * * * * * * * * * * * * 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a0000100 * * * / \n \t Tablewit 2a 2a 20 2a 2f 0a 09 54 61 62 6c 65 20 77 69 740000120 h TAB s ( 0 9 ) \n \t 1 \t \t 68 20 54 41 42 73 20 28 30 39 29 0a 09 31 09 090000140 2 \t \t 3 \n \t 3 . 1 4\t 6 . 2 8 \ t 32 09 09 33 0a 09 33 2e 31 34 09 36 2e 32 38 090000160 9 . 4 2 \n  39 2e 34 32 0a 0000165

En este resultado, los caracteres TAB se muestran como \t y los caracteres NEWLINE como \n.

VOLCADO, DDT y DEPURACIÓN

En el sistema operativo CP/M de 8 bits utilizado en las primeras computadoras personales, el programa DUMP estándar enumeraría un archivo de 16 bytes por línea con el desplazamiento hexadecimal al inicio de la línea y el equivalente ASCII de cada byte al final. [3] : 1-41, 5-40–5-46  Los bytes fuera del rango estándar de caracteres ASCII imprimibles (20 a 7E) se mostrarían como un solo punto para la alineación visual. Este mismo formato se utilizó para mostrar la memoria al invocar el comando D en el depurador DDT de CP/M estándar . [3] : 4-5  Encarnaciones posteriores del formato (por ejemplo, en el depurador de DOS DEBUG ) cambiaron el espacio entre el octavo y el noveno byte a un guión, sin cambiar el ancho total.

Esta notación se ha conservado en los sistemas operativos que se derivaron directa o indirectamente de CP/M, incluidos DR-DOS , MS-DOS / PC DOS , OS/2 y Windows . En los sistemas Linux, el comando hexcat también produce este formato de salida clásico. La razón principal para el diseño de este formato es que cabe la cantidad máxima de datos en una pantalla o impresora estándar de 80 caracteres de ancho, y al mismo tiempo es muy fácil de leer y hojear visualmente.

1234 : 0000 : 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66 Wikipedia, la f 1234 : 0010 : 72 65 65 20 65 6E 63 79 63 6C 6F 70 65 64 6 1 ree enciclopedia 1234 : 0020 : 20 74 68 61 74 20 61 6E 79 6F 6E 65 20 63 61 6E que cualquiera puede 1234 : 0030 : 20 65 64 69 74 00 00 00 00 00 00 00 00 00 00 00 editar....... .                                                                    

Aquí, la columna más a la izquierda representa la dirección en la que se encuentran los bytes representados por las siguientes columnas. CP/M y varios sistemas DOS se ejecutaron en modo real en las CPU x86 , donde las direcciones se componen de dos partes (base y offset).

En los ejemplos anteriores, los últimos 00 son bytes inexistentes más allá del final del archivo. Algunas herramientas de volcado muestran otros caracteres para que quede claro que están más allá del final del archivo, normalmente usando espacios o asteriscos, por ejemplo:

1234 : 0000 : 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66 Wikipedia, la f 1234 : 0010 : 72 65 65 20 65 6E 63 79 63 6C 6F 70 65 64 6 1 ree enciclopedia 1234 : 0020 : 20 74 68 61 74 20 61 6E 79 6F 6E 65 20 63 61 6E que cualquiera puede 1234 : 0030 : 20 65 64 69 74 editar                                                         

o

1234 : 0000 : 57 69 6B 69 70 65 64 69 61 2C 20 74 68 65 20 66 Wikipedia, la f 1234 : 0010 : 72 65 65 20 65 6E 63 79 63 6C 6F 70 65 64 6 1 ree enciclopedia 1234 : 0020 : 20 74 68 61 74 20 61 6E 79 6F 6E 65 20 63 61 6E que cualquiera puede 1234 : 0030 : 20 65 64 69 74 ** ** ** ** ** ** ** ** ** ** ** editar                                                                    

Ver también

Referencias

  1. ^ Liberatore, Marc (primavera de 2017). "02: volcado hexadecimal". COMPSCI 365/590F . Forense digital. Archivado desde el original el 29 de octubre de 2023 . Consultado el 5 de septiembre de 2022 .
  2. ^ "POSIX" . Consultado el 29 de octubre de 2023 .
  3. ^ ab Manual del sistema operativo CP/M (PDF) (3 ed.). Pacific Grove, California, EE. UU.: Investigación digital . Septiembre de 1983. págs. 1-41, 4-5, 5-40–5-46. Archivado (PDF) desde el original el 1 de abril de 2023 . Consultado el 29 de octubre de 2023 .

enlaces externos