• [^] # Re: Rétro-ingénierie

    Posté par (site web personnel) . En réponse à la dépêche Sortie de la version 2005年12月28日 du Hachoir. Évalué à 5.

    Pour continuer sur le thème de la rétro-ingénierie, j'ai écrit une classe Reverse qui devrait faciliter le travail. L'idée générale est de donner en entrée plusieurs sources d'informations, et des informations approximatives. L'outil va alors tenter d'en déduire des conclusions.

    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