• # CRC, division, toussa.

    Posté par . En réponse au message Retrouver un algorithme de checksum ?. Évalué à 3.

    Je suis très embêté, j'ai un logiciel (très propriétaire) qui pilote une machine outil, et qui a la bonne idée d'ajouter un checksum sur 16 bits à tous les fichiers de configuration pour empêcher leur modification. Or j'ai besoin de pouvoir modifier ces fichiers.


    C'est-à-dire que j'aurais tendance à dire que s'il y a un CRC à la fin de tes fichiers pour empêcher leur modif', c'est pour une bonne raison ! Ce qu'il faut, c'est retrouver l'outil servant à faire les modifications, pas un moyen de contourner les protections.

    Ca a l'air évident, dit comme çà, mais c'est effrayant le nombre de fois que j'ai été obligé de le rappeler, même professionnellement.



    Si tu es ABSOLUMENT CERTAIN de devoir modifier ces fichiers toi-même, et que tu peux le démontrer scientifiquement :-), sache que la plupart du temps, les CRC en informatique, sur des valeurs binaires, donc, se résument en fait à une grosse division simplifiée (avec des XOR, sans la retenue) des données, vues comme un seul gros nombre, par une valeur fixe, formellement le polynome générateur, si je ne me trompe pas (je suis un peu rouillé, pardon si je dis trop de conneries).

    L'idée est donc de retrouver cette valeur. Comme elle est de toute évidence passée à la fonction de CRC, autant pour le calcul initial que pour son contrôle, le plus simple reste à mon avis un bon coup de déboggueur ou un truss/strace sous Unix pour récupérer les arguments transmis.