Мне интересно, получится ли когда-нибудь другой результат при создании контрольной суммы в файле .exe до и после этого или после запуска этого файла. Меня больше интересует обычная практика (например, создание хэша SHA популярного приложения, такого как firefox.exe), чем с граничными случаями, но оба они интересны. Благодарю.Хэш файла .exe
ответ
Хэш файла должен быть постоянным до тех пор, пока файл идентичен (т. Е. Содержит только те же байты в том же порядке). Очень редко можно найти приложения, которые переписывают их представление на диске во время выполнения, поэтому хэш должен быть постоянным. Существуют самомодифицирующие программы, но они, как правило, работают с загруженной в копии копией своего кода, а не с копией диска.
Редактировать: Мы должны рассмотреть приложения «Самообновление», но они, как правило, запускают небольшую вспомогательную программу для загрузки и обновления основного приложения. Трудно (особенно в Windows) обновить выполнение во время его работы. Системы UNIX имеют тенденцию работать с системами копирования на запись, поэтому возможно, что обновление программного обеспечения может изменить ваш исполняемый файл под ногами - но опять же, это «угловой случай».
Хэш изменяется только в том случае, если exe изменяется. Это произойдет, только если приложение изменится, что не произойдет в Windows без перезагрузки приложения. Firefox может обновить себя (включая перезапуск), но помимо таких случаев хеш останется прежним.
Хеш изменится, если файл изменится.
Файлы EXE редко меняются самостоятельно. firefox.exe
изменится, если пользователь обновится до новой версии.
Вы можете проверить атрибут «date modified» EXE-файла (например, firefox.exe
) после его запуска, чтобы увидеть, изменилось ли оно, но вы, вероятно, обнаружите, что это не так.
Если вы имеете в виду модификацию последнего времени доступа, не беспокойтесь, он хранится на уровне файловой системы, а не внутри файла, поэтому хэш останется прежним.
Такая модификация exe-диска на диске, вероятно, будет отмечена любым средством проверки на вирусы как поведение, подобное вирусу. –
Будет ли у exe когда-либо компоненты или «ресурсы», которые, скажем, содержат данные конфигурации, которые могут измениться в результате запуска exe? – Brian
@Brian, обычно нет - данные конфигурации почти всегда хранятся отдельно – bdonlan