Hachoir est un projet qui vise à être capable d'analyser le lire toutes les informations contenues dans un fichier binaire. Effectivement, contrairement aux fichiers textes qui sont généralement facilement lisible, qui aujourd'hui est capable d'analyser le contenu d'une image PNG à l'aide d'un éditeur hexadécimal ? Êtes-vous sûr qu'il n'y a pas de mouchard dans vos fichiers ?
La version 0.5 vient de sortir et approche de plus en plus cet objectif. La majorité des formats de fichier « courants » sont supportés. Cela va de l'image PNG à la vidéo AVI en passant par les archives bzip2 ou encore le système de fichier ext2. Par contre, tous les parseurs ne sont pas encore capable de lire 100% du contenu d'un fichier.
Hachoir est avant tout une bibliothèque écrite en Python, mais plusieurs scripts l'utilisant sont disponibles. hachoir-metadata permet d'extraire les méta-données : durée d'une musique, taille d'une image, mais aussi des données rarement visibles tels que les commentaires, le logiciel utilisé pour générer un fichier, etc. hachoir-urwid est une interface permettant d'explorer le contenu d'un fichier au clavier. hachoir-grep permet de rechercher une chaîne de caractère dans un fichier, ou simplement lister toutes les chaînes d'un fichier. Hachoir ne devine pas des informations, il se contente de les afficher tels qu'elles sont dans le fichier. Au mieux, elles sont mises en forme pour les rendre plus lisible.
Hachoir étant totalement paresseux, il est capable de lire des fichiers complexes et/ou de grande taille (un disque dur de 10 Go ne lui fait pas peur).