-->

Práctica: Análisis hexadecimal y estructura interna de archivos

Ficha de Laboratorio: Análisis hexadecimal y estructura interna de archivos

Instrucciones de entrega:

  1. Rellena los campos y responde en este formulario desde tu navegador.
  2. Pulsa el botón de imprimir al final de la página.
  3. Selecciona "Guardar como PDF" en el diálogo de impresión.
  4. Entrega el archivo PDF en el aula virtual.

Alumno/a:      Fecha:
Grupo:


Objetivos de la práctica

  • Comprender que los archivos están formados por bytes.
  • Relacionar las representaciones binaria y hexadecimal.
  • Utilizar una herramienta de inspección hexadecimal.
  • Identificar las firmas o cabeceras de diferentes tipos de archivo.
  • Comparar la estructura interna de diferentes formatos.
  • Relacionar los datos mostrados en hexadecimal con la información almacenada.

Material necesario

  • Un ordenador con Windows o Linux.
  • Un editor hexadecimal.
  • Un archivo de texto.
  • Una imagen JPG.
  • Una imagen PNG.
  • Un documento PDF.
  • Opcionalmente, otro tipo de archivo para comparar.

Herramienta de trabajo: editor hexadecimal

Para realizar esta práctica necesitarás un editor hexadecimal. Esta herramienta permite visualizar el contenido de un archivo byte a byte, mostrando los valores en hexadecimal y, cuando es posible, su representación en caracteres.

Dependiendo del sistema operativo utilizado, puedes emplear alguna de las siguientes herramientas:

(Por ejemplo, en Linux puedes instalar Okteta con: sudo apt install okteta)

Windows

  • HxD: editor hexadecimal con interfaz gráfica, sencillo y adecuado para esta práctica.
  • Frhed: alternativa gratuita de editor hexadecimal.

Linux

  • Okteta: editor hexadecimal con interfaz gráfica.
  • GHex: alternativa con interfaz gráfica.
  • Bless: otra alternativa de editor hexadecimal.

Recomendación

En Windows puedes utilizar HxD y en Linux puedes utilizar Okteta. No es necesario instalar varios programas. Utiliza el editor que esté disponible en el ordenador del aula.

Importante

Durante la práctica trabajarás con copias de los archivos. No modifiques ni guardes sobre los archivos originales.

Sistema operativo utilizado:

Editor hexadecimal utilizado:

1. Primer contacto con un editor hexadecimal

Abre un archivo sencillo de texto mediante el editor hexadecimal. Observa cómo se representa la información.

Nombre del archivo analizado:

Extensión:

Tamaño del archivo:

Copiar los caracteres hexadecimales en okteta: Selecciona los bytes --> Clic drch --> Copiar Como --> valores hexadecimales 

Escribe los primeros bytes que aparecen en el editor hexadecimal:

¿Qué información aparece en la columna ASCII o de texto del editor?

2. Hexadecimal, decimal y binario

Selecciona algunos de los bytes observados en el archivo y realiza las conversiones correspondientes.

Byte hexadecimal Decimal Binario Carácter ASCII

3. Análisis de diferentes tipos de archivo

Abre mediante el editor hexadecimal un archivo de cada uno de los tipos indicados. Sitúate al principio del archivo y anota los primeros bytes.

Tipo de archivo Extensión Primeros bytes ¿Se reconoce alguna firma?
Texto
Imagen JPG
Imagen PNG
PDF
Otro

4. Identificación de firmas de archivo

Muchos formatos utilizan determinados bytes al principio del archivo para identificar su tipo. Estos datos reciben habitualmente el nombre de firma, cabecera o magic number.

Observa los primeros bytes de los archivos analizados y responde:

  1. ¿Qué archivo presenta una firma más fácilmente reconocible?
  2. ¿Qué bytes o caracteres permiten identificarlo?
  3. ¿Todos los archivos tienen necesariamente una firma fácilmente reconocible?
  4. ¿Por qué puede ser útil identificar un archivo mediante su contenido en lugar de confiar únicamente en su extensión?

5. La extensión no lo es todo

Realiza el siguiente experimento utilizando una copia de uno de los archivos utilizados anteriormente.

  1. Selecciona una copia de uno de los archivos utilizados anteriormente.
  2. Cambia únicamente su extensión, sin modificar su contenido.
  3. Intenta abrir el archivo con el programa correspondiente a la nueva extensión.
  4. Vuelve a analizar el archivo mediante el editor hexadecimal.

¿Ha cambiado el contenido hexadecimal del archivo?

¿Qué ha cambiado realmente?

¿Qué demuestra este experimento sobre la relación entre la extensión y el contenido de un archivo?

6. Análisis de una cadena de texto

Crea un archivo de texto que contenga exactamente la siguiente frase:

Hola mundo

Ábrelo con el editor hexadecimal y localiza los bytes correspondientes a cada carácter.

Escribe la representación hexadecimal que has encontrado:

¿Puedes reconocer alguno de los caracteres directamente en la representación hexadecimal?

Comprueba al menos tres caracteres convirtiendo sus valores hexadecimales a decimal.

Carácter Hexadecimal Decimal Binario

7. Actividad de investigación

Investiga qué son los magic numbers o números mágicos de los archivos. Explica para qué sirven y proporciona tres ejemplos de firmas de archivos diferentes.

Formato Firma hexadecimal Utilidad

8. Conclusiones

  1. ¿Qué información puede obtenerse inspeccionando un archivo mediante hexadecimal?
  2. ¿Por qué diferentes tipos de archivo presentan estructuras hexadecimales diferentes?
  3. ¿Qué relación existe entre bytes, hexadecimal y la información que contiene un archivo?
  4. ¿Por qué una simple modificación de la extensión no transforma realmente un archivo en otro formato?