Sniffer di file


Storia

La storia di questo esercizio parte dal confronto tra l'estensione del file e il formato di file binario per esplorare i concetti di dati binari, pattern matching e codifica delle stringhe. Lo studente dovrà scrivere alcune funzioni per confrontare il tipo di media atteso con il tipo di media codificato nel file.

Attività

La storia offre lo spunto per definire alcune funzioni:

  • Restituire il tipo di media a partire da un'estensione fornita come stringa.
  • Restituire il tipo di media a partire da un formato di file binario.
  • Confrontare il tipo di media atteso, ricavato dall'estensione fornita come stringa, con il tipo effettivo ricavato dal file binario.

Riferimento dell'esercizio

Tipo di file Estensione comune Tipo di media firma binaria dai primi byte
ELF none o "exe" "application/octet-stream" 0x7F, 0x45, 0x4C, 0x46
BMP "bmp" "image/bmp" 0x42, 0x4D
PNG "png" "image/png" 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A
JPG "jpg" "image/jpg" 0xFF, 0xD8, 0xFF
GIF "gif" "image/gif" 0x47, 0x49, 0x46

Implementazioni