Хеш файла .exe - PullRequest
       35

Хеш файла .exe

1 голос
/ 15 сентября 2009

Мне интересно, получу ли я когда-нибудь другой результат при создании контрольной суммы для файла .exe до, а затем во время или после запуска этого файла. Меня больше интересует обычная практика (например, создание SHA-хеша популярного приложения, такого как firefox.exe), чем граничные случаи, но оба интересны. Спасибо.

Ответы [ 4 ]

7 голосов
/ 15 сентября 2009

Хэш файла должен быть постоянным до тех пор, пока файл идентичен (то есть содержит только одни и те же байты в том же порядке). Очень редко можно найти приложения, которые переписывают свое представление на диске во время выполнения, поэтому хэш должен быть постоянным. Существуют самоизменяющиеся программы, но они, как правило, работают с загруженной в память копией своего кода, а не с диска.

Редактировать: мы должны рассмотреть «самообновляющиеся» приложения, но они, как правило, запускают небольшую вспомогательную программу для загрузки и обновления основного приложения. Трудно (особенно в Windows) обновить исполнение во время его работы. Системы UNIX, как правило, работают с системами копирования при записи, поэтому вполне возможно, что обновление программного обеспечения может изменить ваш исполняемый файл под вашими ногами - но, опять же, это «угловой случай».

2 голосов
/ 15 сентября 2009

Хэш изменится, если файл изменится.

EXE-файлы редко меняются сами по себе. firefox.exe изменится, если пользователь обновится до новой версии.

Вы можете проверить атрибут «дата изменения» файла EXE (например, firefox.exe) после его запуска, чтобы увидеть, изменился ли он, но вы, вероятно, обнаружите, что он не изменился.

2 голосов
/ 15 сентября 2009

Хеш будет меняться только при изменении exe. Это произойдет только в том случае, если приложение модифицирует себя, что не произойдет в Windows без перезапуска приложения. Firefox может обновиться сам (включая перезапуск), но, за исключением таких случаев, хэш останется прежним.

1 голос
/ 15 сентября 2009

Если вы имеете в виду изменение времени последнего доступа, не беспокойтесь, оно хранится на уровне файловой системы, а не внутри файла, поэтому хэш останется прежним.

...