Les données ne sont réellement lues que lorsqu'elles sont accédées. Ceci permet de traiter de très gros fichiers sans problème (ex: partition de 9 Go contenant plusieurs centaine de milliers d'objets), et le chargement d'un fichier prend rarement plus d'une seconde.
Le projet est encore jeune, mais n'hésitez pas à le tester et m'envoyer vos retours d'expérience. Dépendances :
Pour utiliser le Hachoir, vous aurez besoin de Python 2.3, Python GTK+, et Python Glade. Il est conseillé d'utiliser Python Magic (vient de libmagic et de la commande file) si c'est possible.
Pour entrer dans les détails :
L'élément le plus petit est un "chunk" qui peut être de trois types : FormatChunk (entier, chaîne binaire, tableau d'entiers, etc.), StringChunk (chaîne de caractère C, ligne Unix, etc.) et BitsChunk (champs de bits). La décompression est supportée (bzip2, gzip, rle, etc.), et le déchiffrement est prévu (pour plus tard).
Un filtre est un ensemble de chunks sachant qu'il existe un 4e type, FilterChunk, qui embarque à son tour un filtre. Ce qui donne finalement un arbre.
Pour la suite :
Les prochains chantiers sont :
- la possibilité d'éditer un filtre (ajouter / modifier / supprimer un chunk), ce qui était possible avec la version précédente du Hachoir d'ailleurs ;
- la possibilité d'éditer le fichier (en mettant à jour les champs qui en dépendent bien sûr).
Aller plus loin
- Site web du projet Hachoir (8 clics)
- Captures d'écran du Hachoir (9 clics)
- Partie développeur de site web du Hachoir (3 clics)
# Moteurs de recherche de bureau
Posté par yoho (site web personnel) . Évalué à 9.
# très interessant
Posté par Anonyme . Évalué à 4.
# Rétro-ingénierie
Posté par Victor STINNER (site web personnel) . Évalué à 9.
Si quelqu'un est intéressé (et/ou compétent :-)), je lui envoie le fichier pour qu'il nous file un coup de main.
N'empêche stocker les données (hors palette de couleur) 640x480 pixels et 256 couleurs (80 pour être exact) dans 274 octets, je dis chapeau ! C'est peut-être un format vectoriel, ou bien compression avec codage des répétitions ? Ou alors un pattern utilisant d'autres images ? Genre : tu me dessines l'image 3 en (10,20), tu me dessines l'image 6 en (200,400), etc.
Au passage, j'ai trouvé un site intéressant sur le format des données des jeux :
http://wiki.xentax.com/index.php/Main_Page
Haypo
[^] # Re: Rétro-ingénierie
Posté par Arnaud . Évalué à 7.
Il y a de fortes chances que les 274 octets référencent des images externes (amusant, ça me rappelle l'bon vieux temps des moteurs de shoot'em'up...)
1° octet : numéro d'image à afficher ligne 1, colonne 1
2° octet: numéro d'image à afficher ligne 1, colonne 2
...
n° octet: numéro d'image à afficher ligne 2, colonne 1
..
etc etc
Oui mais voila: 640x480 n'est pas divisible par 274 (on ne peut pas découper l'image en 274 blocs identiques), ce qui veut dire qu'il y a des octets qui servent aussi à d'autres choses, ou que la taille des blocs est variable. Peut être que les premiers octets servent à référencer une 'image de base' ou il faut aller piocher les blocs référencés par la suite ? Peut être aussi que je suis à côté de la plaque.
Je pense que tu vas passer des soirées sympas avec un éditeur hexa, avec du 'je remplace un octet, je lance le jeu, je note la différence'...
[^] # Re: Rétro-ingénierie
Posté par Victor STINNER (site web personnel) . Évalué à 3.
Beaucoup d'idées sont échangés sur le format de Worms2 :
http://forum.xentax.com/viewtopic.php?t=1659
Par contre, je me suis trompé dans les tailles. Quelques valeurs :
- Image de 640x28 pixels en 8 bits/pixel => 259 octets
- Image de 640x28 pixels en 8 bits/pixel => 333 octets
- Image de 28x479 pixels en 8 bits/pixel => 535 octets
Ces images ne contiennent que peu d'information, elles sont donc susceptible d'être bien compressibles.
Haypo
[^] # Re: Rétro-ingénierie
Posté par Victor STINNER (site web personnel) . Évalué à 5.
Les premiers essais sont très intéressant. J'ai donné 10 fichiers gzip en entrée, la taille du fichier décompressé, et la classe m'a dit à quelle position se trouvait le champ ! J'ai fait un autre test sur un champ que je n'arrivais pas à trouver dans les ressources du jeu Worms 2 ... ben j'ai pas trouvé car je demandais la valeur exacte, alors qu'en fait il fallait la valeur plus un :-) Au second test, en spécifiant un intervalle, mon outil trouve le résultat tout de suite ! Le format, nombre d'octets et endian, sont détectés automatiquement (ils sont testés l'un après l'autre en fait).
Après, on peut imaginer des trucs plus costaux, comme reconnaître un motif. Exemple : header de taille fixe, chunk contenant sa taille, chunk contenant sa taille, etc. => format classique et facilement identifiable (ça prend du temps de calcul, mais c'est facile).
Haypo
# Bravo !
Posté par Anonyme . Évalué à 5.
Donc bravo à l'auteur pour son travail, et espérons que d'autres plugins sortiront !
# Un beau plugin de CraCkERZ
Posté par djibb (site web personnel) . Évalué à 6.
Quoi il existe des wifis non cryptés... -> toutes les 9Box d'avant Juillet-Aout dernier :)
[^] # Re: Un beau plugin de CraCkERZ
Posté par Victor STINNER (site web personnel) . Évalué à 4.
Sinon, dans la catégorie "Programme à Haypo" :
http://www.haypocalc.com/wiki/Lamer
Haypo
# Récupération après cracsh
Posté par Pierre Jarillon (site web personnel) . Évalué à 3.
45_79078 45_80409 45_80979 45_82674 45_84740 45_86903 45_88031 4_63568 66766_67669
45_79080 45_80431 45_80987 45_82700 45_84746 45_86904 45_88033 4_63958 66766_67674
Je pense que Hachoir aurait pu me rendre service.
[^] # Commande file
Posté par Ackira . Évalué à 6.
Elle permet de connaître le type d'un fichier, et ne se base pas sur l'extension, mais sur des "magic numbers".
Elle ne permet pas comme Hachoir de disséquer très précisément les fichiers supportés, mais elle est présente sur presque toutes les distributions et supporte en générale un grand type de fichiers. Sur certains fichiers elle peut afficher plus d'informations, par exemple la résolution d'une image ou le sample rate d'un fichier audio.
Pour l'information, sur ma distribution le fichier de magic numbers est dans /usr/share/misc/file/magic et fait plus de 10000 lignes.
# jsuis déçu
Posté par Rémi baudruche . Évalué à 3.
Zut, j'ai cru que ça allait afficher de la musique et jouer des images.
Ou plutôt le contraire.
enfin pour moi c'est ça afficher un fichier binnaire de façon intéligible
Sinon, ça a l'air d'un super programme, mais geek-only ;-)
[^] # Re: jsuis déçu
Posté par BAud (site web personnel) . Évalué à 6.
je te sens chaud sur l'action, je sais pas pourquoi... en plus ça ferait de cet outil un véritable couteau suisse.
[^] # Re: jsuis déçu
Posté par Rémi baudruche . Évalué à 2.
mais bon, en visualisateur, je connait presque que eog qui est vraiment lourd, je trouve
Si t'en connait un léger, je suis preneur
[^] # Re: jsuis déçu
Posté par _Hitek_ (site web personnel) . Évalué à 4.
[^] # Re: jsuis déçu
Posté par fusible . Évalué à -1.
[^] # Re: jsuis déçu
Posté par fusible . Évalué à 2.
Il est léger, rapide et il a un zoom de qualité. Il peut aussi faire des index et pleins d'autres trucs.
Je suis passé de Qiv à Feh et il le vaut bien. Mon seul reproche ce serait les racourcis clavier, mais bon.
[^] # Re: jsuis déçu
Posté par Sylvain Sauvage . Évalué à 3.
[^] # Re: jsuis déçu
Posté par Victor STINNER (site web personnel) . Évalué à 3.
Haypo
# avec FUSE ?
Posté par Mildred (site web personnel) . Évalué à 3.
Ca permetrait par exemple de 'monter' des archives tar.gz/bz2 ou tout format reconnu par le Hachoir.
Ce serait bien je trouve.
Et si en, plus cela pouvait être intégré à Nautilus/Konqueror, ce serait le mieux.
[^] # Ca existe déjà
Posté par Sufflope (site web personnel) . Évalué à 4.
[^] # Re: Ca existe déjà
Posté par Krunch (site web personnel) . Évalué à 5.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: avec FUSE ?
Posté par EdB . Évalué à 5.
[^] # montages et URIs
Posté par z a . Évalué à 4.
[hs] intéressant de commencer avec une note négative
[^] # Re: avec FUSE ?
Posté par Victor STINNER (site web personnel) . Évalué à 2.
Haypo
# DataWorkshop
Posté par Bonnefille Guilhem (site web personnel) . Évalué à 6.
Très récemment, il a recut une contribution lui permettant de manipuler des flux MPEG1/2[2].
Personnellement, je maintiens ce soft car il m'a bien aidé dans le cadre de mon boulot, mais je n'ai pas le temps d'y porter des modifications pour l'améliorer. Si un développeur Java en mal de sujet passe dans le coin... l'avis est lancé.
[1] https://gna.org/projects/dataworkshop
[2] http://linuxfr.org/~guyou/20446.html
[^] # Re: DataWorkshop les copies d'écran
Posté par BAud (site web personnel) . Évalué à 4.
http://dataworkshop.de/screenshots.html
faut être plus vendeur / précis si tu veux de l'aide ;-)
et les fonctionnalités de ton projet : http://dataworkshop.de/ (le site de gna! précise une licence GPL v2 et celui-ci freeware... mais bon sans doute un oubli de màj).
[^] # Re: DataWorkshop
Posté par Victor STINNER (site web personnel) . Évalué à 4.
DataWorkshop a l'air (j'ai testé vite fait) d'être un bon logiciel. Il a une approche un peu différente, mais semble fonctionnel et abouti (contrairement au Hachoir encore en chantier). Il peut travailler au niveau du bit plus naturellement (adresse avec virgule genre 10,3 => le chiffre après la virgule = le bit). Il a une autre qualité remarquable : on peut utiliser un widget différent selon le type de donnée.
J'ai écrit un hack dans le Hachoir pour travailler au niveau du bit, et j'ai noté qq. part l'idée de pouvoir utiliser un widget différent. D'ailleurs, j'ai pensé aussi que chaque filtre pourrait ajouter des outils en plus : nouveau onglet, nouveau bouton, etc. Ca serait sympa de pouvoir afficher une couleur, une image, lire un son, etc. :-D (pour rebondir sur un commentaire déposé plus haut)
Haypo
# La jungle des formats
Posté par mickabouille . Évalué à 3.
Ce sont les formats ERF et GFF de Bioware (voir http://nwn.bioware.com/developers/ les sections "The Generic File Format (GFF)" et "The Encapsulated Resource Format (ERF)").
Enfin je dis ça, c'est surtout parce que je travaille un peu sur un éditeur de resources en python, et qu'il serait parfois pratique d'examiner ce que l'on écrit :D
Si j'ai le temps, je regarderais peut être comment sont faits tes plugins...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.