2009-09-14 7 views
1

Je me demande si j'obtiendrai un résultat différent lors de la production d'une somme de contrôle sur un fichier .exe avant, puis pendant ou après l'exécution de ce fichier. Je suis plus préoccupé par la pratique courante (comme la production d'un hachage SHA de l'application populaire comme firefox.exe) que par les cas limites, mais les deux sont intéressants. Merci.Hash d'un fichier .exe

Répondre

7

Le hachage d'un fichier doit être constant tant que le fichier est identique (c'est-à-dire qu'il ne contient que les mêmes octets, dans le même ordre). Il est très rare de trouver des applications qui réécrivent leur représentation sur disque lors de l'exécution, de sorte que le hachage doit être constant. Il existe des programmes auto-modifiables, mais ils ont tendance à fonctionner sur la copie de leur code chargée en mémoire, plutôt que sur la copie de disque. Edit: Nous devrions envisager des applications de "mise à jour automatique", mais celles-ci tendent à lancer un petit programme d'aide pour télécharger et mettre à jour l'application de base. Il est difficile (surtout sur Windows) de mettre à jour une exécution pendant son exécution. Les systèmes UNIX ont tendance à utiliser les systèmes Copy on Write, il est donc possible qu'une mise à jour logicielle puisse modifier votre exécutable sous vos pieds - mais là encore, il s'agit d'un «casse-case».

+2

Une telle modification sur un disque d'un fichier exe serait probablement signalée par tout vérificateur de virus comme un comportement «semblable à un virus». –

+0

L'exe lui-même aura-t-il jamais des composants ou des «ressources» qui, disons, contiennent des données de configuration qui pourraient changer à la suite de l'exécution de l'exe? – Brian

+0

@Brian, généralement pas - les données de configuration sont presque toujours stockées séparément – bdonlan

2

Le hachage ne changera que si l'exe change. Cela ne se produira que si l'application se modifie, ce qui ne se produira pas sur Windows sans le redémarrage de l'application. Firefox pourrait se mettre à jour (y compris un redémarrage), mais en dehors de ces cas, le hachage restera le même.

2

Le hachage va changer si le fichier change.

Les fichiers EXE changent rarement d'eux-mêmes. firefox.exe changerait si l'utilisateur met à jour vers une nouvelle version.

Vous pouvez vérifier l'attribut "date de modification" d'un fichier EXE (comme firefox.exe) après l'avoir exécuté pour voir s'il a changé, mais vous ne le trouverez probablement pas.

1

Si vous voulez dire la modification du dernier temps d'accès, ne vous inquiétez pas, il est stocké au niveau du système de fichiers, pas dans le fichier, donc le hachage restera le même.