Чтобы продемонстрировать полезность подписей и цифровых отпечатков пальцев, я загрузил mspaint в шестнадцатеричный редактор и изменил один символ от P до X (символ был расположен в строке). Когда я позже запустил mspaint, я ожидал, что Windows (XP) выскочит диалоговое окно, чтобы предупредить меня и сказать, что файл был подделан. Но такой диалог не появился! Зачем?
(1) mspaint.exe не имеет цифровой подписи под XP. (2) По умолчанию предполагается, что вы знаете, что делаете, и вам разрешено выполнять любую программу независимо от того, присутствует ли правильный код проверки подлинности или нет. Я считаю, что это может быть изменено политикой, если вы действительно хотите. (Вы этого не делаете.) Все, что может случиться со взломанным exe, - это то, что вкладка «Цифровые подписи» в Свойствах не появится.
bobince 14 лет назад
1
Жаль, что оно было закрыто ... Когда я запускаю программу, которую написал сам, я получаю предупреждение, но когда я запускаю измененную программу, предупреждения нет. Как программист, я нахожу это запутанным.
14 лет назад
0
Рагнариус, .NET?
Tarnay Kálmán 14 лет назад
0
Может / должен был быть переписан чуть-чуть, а затем остаться на SO.
Arjan 14 лет назад
0
2 ответа на вопрос
1
Anthony Mills
Проверка, вероятно, не сделана по причинам производительности. Возможно, у вас есть исполняемый файл размером в несколько мегабайт, и его проверка может занять много времени.
Однако, если вы загрузите Process Explorer и скажете ему проверить цифровые подписи, он, вероятно, сообщит вам, что цифровая подпись в вашей измененной версии Paint недействительна.
1
luvieere
Windows XP сама по себе не предлагает очень эффективных решений для предотвращения несанкционированного доступа. Вероятно, разработчик должен написать код подтверждения для своего приложения, если он хочет защитить его от подделки. Что касается неосновных частей ОС, таких как связанные программы (например, рисование), они не считались достаточно критичными для такой защиты.