Articles précédents : Logiciel
- [5] Sortie de GDL 0.9pre5
- [85] Un téléphone libre : OpenMoko
- [84] Sortie du noyau Linux 2.6.22
- [15] Open Arena 0.7 disponible le 07/07/07 !
- [14] Sortie d'Amaya 9.55
- [11] Sortie de FreedroidRPG 0.10.2
- [54] Sortie de sesam viewer
- [18] Eclipse 3.3 (Europa) est sorti
- [12] Sortie d'OpenSceneGraph 2.0
- [17] Open Motif 2.3 : Anticrénelage, unicode et plus…
Liens connexes
- Hachoir.org (1824 hits)
- Liste complète des formats supportés (808 hits)
- Exemples d'extraction des méta-données (509 hits)
- Captures d'écran de l'interface graphique wxWidgets (1157 hits)
Dépêche modérée par
Dépêche éditée par
Logiciel : Publication du projet Hachoir en version 1.0
Posté par Victor STINNER (page perso, ). Modéré le 13 juillet 2007.Hachoir est tolérant aux erreurs, ce qui permet de traiter des fichiers corrompus et/ou tronqués ; il est rapide parce qu'il ne lit que les informations nécessaires. Il est donc possible d'identifier le codec correspondant à un fichier vidéo dès que les premiers kilo-octets ont été téléchargés, ou d'accéder aux données stockées dans un fichier plus gros que la mémoire. Un cas d'utilisation est l'extraction des fichiers d'une archive (gzip, bz2, etc.) tronquée quand les outils standards refusent de la traiter.
De nombreux composants sont disponibles, notamment hachoir-metadata, dédié à l'extraction des méta-données (nom de l'auteur, durée d'une musique, taux de compression d'une image, etc) et servant d'alternative au programme file pour identifier le type d'un fichier; et hachoir-subfile, dédié à la récupération de fichiers depuis une partition disque corrompue ou une image de la mémoire.
Hachoir.org (1824 hits)
Liste complète des formats supportés (808 hits)
Exemples d'extraction des méta-données (509 hits)
Captures d'écran de l'interface graphique wxWidgets (1157 hits)
> Lire la dépêche (9 commentaires, moyenne: 4,7).
Le projet est constitué d'une flopée de composants bien distincts :
- hachoir-core : fonctions communes et architecture pour découper un fichier en rondelles ;
- hachoir-parser : ensemble de 70 parseurs de fichier ;
- hachoir-metadata : extraction des méta-données ;
- hachoir-subfile : recherche de sous-fichiers à la manière de PhotoRec ;
- hachoir-urwid, hachoir-wx, hachoir-gtk, hachoir-http : visionneuse de fichier binaire sous forme de champs (respectivement : curses, wxWidgets, Gtk+, web avec Ajax).
Pour les curieux, il existe également les projets expérimentaux : hachoir-grep, hachoir-strip et d'autres dans hachoir-tools (comme swf_extract.py : extraction des images et musiques d'un fichier SWF).
Le noyau, hachoir-core, offre une interface objet intuitive pour le développeur qui présente le fichier comme une arborescence de champs. La taille et la complexité du fichier ont peu d'impact sur les performances car la lecture est paresseuse : un champ n'est créé que lorsqu'il est demandé. Ceci permet d'ouvrir sans problème des fichiers de plusieurs dizaines de gigaoctets.
Hachoir est entièrement programmé en Python 2.4 et n'a aucune dépendance externe. La sécurité et la fiabilité sont améliorées d'une part par le choix du langage Python qui évite certaines classes de vulnérabilités comme les dépassements de tampon, d'autre part grâce à des tests automatisés intensifs. La base de code comporte de nombreux tests unitaires et fonctionnels, et une campagne de test par la technique du fuzzing a permis de corriger bon nombre de bugs garantissant une bonne robustesse de l'outil.
Les gens intéressés pour contribuer peuvent rapporter des bugs, c'est déjà une aide importante. Une meilleure intégration dans Windows et Linux (ex: mieux intégrer hachoir-metadata à Nautilus et Konqueror) serait appréciable. Enfin, maintenant que le noyau dur du projet est stable et parfaitement fonctionnel, il faudrait retravailler les interfaces utilisateurs. Exemple : écrire une interface graphique (Gtk et/ou Qt) pour hachoir-metadata, surement triviale à écrire.
Intégration au desktop
Pensez-vous qu'un ioslave basé sur hachoir-subfile puisse avoir des performances suffisantes pour une utilisation en desktop ? Quels seraient les goulots d'étranglement sinon ?
Je m'imagine déjà éditer les strings d'un programme en mémoire depuis mon explorateur de fichiers préféré...
-
[^]Re: Intégration au desktop
Posté par Victor STINNER (page perso, ) le 13/07/2007 à 15:17. (lien). Évalué à 9.Un prototype FUSE existe mais je n'ai pas trouvé ça très agréable à utiliser et surtout pas assez interactif. En même temps, je n'ai pas trop creusé de mon côté.
http://hachoir.org/browser/trunk/hachoir-tools/hachoir-fuse.(...)
-
[^]Re: Intégration au desktop
Posté par phentex () le 13/07/2007 à 20:36. (lien). Évalué à 4.miam, et en français courant ça donne quoi?
--
ggggnnnnnnnnnnnnnnnnn (interprétation libre)-
[^]Re: Intégration au desktop
Posté par ptifeth (page perso, ) le 13/07/2007 à 21:42. (lien). Évalué à 6.Le troll se demande quand on l'aura dans nautilus ou konqueror pour parcourir les fichiers zip, iso et autres conteneurs, de façon récursive s'il le faut. Et comme il est possible d'analyser la mémoire, pourquoi ne pas éditer directement la pile ?
-
Fichier Excel
Par curiosité, j'avais soumis à Hachoir un fichier Excel endommagé.
Il m'a indiqué être en présence d'un conteneur FAT avec tout un tas de blocs au contenu binaire.
Est-ce la vision qu'à Hachoir d'un objet OLE ?
Est-ce que mon fichier était trop endommagé pour être analysé correctement ?
Idéalement, je m'attendais à voir la structure du classeur, des modules de codes VBA, etc ...
Je rêve ou c'est moi qui ai loupé quelque chose ?
-
[^]Re: Fichier Excel
Posté par ptifeth (page perso, ) le 13/07/2007 à 21:23. (lien). Évalué à 4.Je crois que... c'est bien une FAT (avec la fragmentation, les bouts supprimés récupérables...) !
Victor ?-
[^]Re: Fichier Excel
-
-
[^]Re: Fichier Excel
Posté par Victor STINNER (page perso, ) le 15/07/2007 à 15:53. (lien). Évalué à 7.Le format OLE2 est utilisé par le format MSI (installeur Windows), les documents Microsoft Office, et peut-être d'autres. Actuellement, le parseur OLE2 ne sait que décoder la première couche de l'oignon : le système de fichier FAT. Il y a quelques informations qui sont décodées comme les métadonnées. Un patch de nneonneo est en attente, il permet de lire un peu plus profondément les documents PowerPoint.
Le format des documents Office est très complexe. J'ai du modifier Hachoir en profondeur pour pouvoir ouvrir ce genre de fichier. Maintenant, on peut toujours améliorer le parseur Hachoir pour le format OLE2.
Féliciations Haypo !!
J'ai hate de tester çà dès que je reviens sur mon poste Linux (ce soir, ouf !)
Excellente idée que celle d'une interface Ajax !
Bon courage et bonne continuation sur Hachoir Victor !




Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.