Я попытался загрузить подписанный исполняемый файл (http://live.sysinternals.com/procexp.exe) и изменить его. Я думал, что это невозможно, и Windows каким-то образом помешает мне запустить его (или предупредить меня хотя бы). Но когда я изменяю один символ (например, в заглушке DOS или любых других текстовых данных), он все еще работает.Я могу изменить подписанный исполняемый файл
Перед изменением, когда я запустил это приложение, он всплеск предупреждения UAC показывает, что он подписал Microsoft и спрашивает, хочу ли я его запустить. После модификации такой вещи нет. Даже когда я вернусь к изменениям, он все равно не появится. Я сравнил модифицированный и восстановленный исполняемый файл с оригиналом (в общем командире), и он не показывает разницы. Но оригинал все еще брызгает UAC.
Почему?
Я использую Windows 7 и Firefox.
Что вы подразумевали под тем, что файл помечен как загруженный из Интернета? Наверное, это так. Я попытался изменить случайное значение, сохранить файл и изменить его на оригинал. До сих пор я не запускал программу. После того, как все изменения возвращены, я запустил его, и он не обнаружил всплывающее окно, даже если подпись действительна. Так что, я думаю, это как-то изменило «загруженный» статус файла на «созданный пользователем» или иначе. Где хранится такая информация? А что такое манифест программы? Но спасибо в любом случае – Samuel
Когда вы загружаете файл из Интернета, некоторые браузеры (IE - это, конечно же, первый) хранят на нем флаг. Вы можете увидеть его в диалоговом окне свойств файла, * Общие * вкладка.Будет строка * Security * под * Attributes *, которая гласит: «Этот файл пришел с другого компьютера и может быть заблокирован, чтобы защитить этот компьютер». Вы также увидите кнопку «Разблокировать» справа. Найдите «манифест приложения», и вы узнаете, что это такое. Вы уверены, что цифровая подпись все еще действует после изменения файла дважды? Я действительно сомневаюсь в этом. –
Вы правы, это действительно кнопка разблокировки. Он находится в загруженном файле. После копирования этого файла он остается в копии. Если я изменю файл, он исчезнет. Если я верну его в нормальное положение, он не будет отображаться снова. Я буду искать манифест и дам вам знать. О цифровых подписях - это особый хеш. Поэтому, если вы что-то измените, а затем вернете изменения, он имеет тот же хеш, что и оригинал (оба файла одинаковы :)), и цифровая подпись будет действительна. Его цель - не предотвращать изменения. Это найти различия. – Samuel