![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Сертификация 64-битных приложений Delphi для Windows 8.1: настройка компилятора и линкераDelphi , ОС и Железо , WindowsВопрос сертификации приложений для операционных систем Windows всегда был актуален для разработчиков, и с выходом Windows 8.1 требования стали ещё более строгими. Одним из ключевых моментов является соблюдение мер безопасности операционной системы, что особенно важно для 32-битных приложений, где применяется требование SafeSEH. Но что насчет 64-битных приложений, созданных с использованием Delphi? Могут ли они пройти сертификацию без соблюдения этого требования? Давайте разберемся. Оригинальный заголовок:Can 64-bit Delphi desktop application be certified for Windows 8.1 Описание проблемы (вопрос):Известно, что 32-битные приложения на Delphi не могут быть сертифицированы для Windows 8.1 из-за необходимости соблюдения требования SafeSEH. Однако, что касается 64-битных приложений Delphi, могут ли они удовлетворить другие требования сертификации, учитывая, что они не обязаны выполнять требование SafeSEH? Необходимо также узнать, существуют ли определенные настройки компилятора или линкера, которые должны быть установлены в случае положительного ответа, и какая минимальная версия Delphi требуется для этого (явно не ниже XE2). Специфически рассматривается раздел 3 требований к сертификации: 3. Apps support Windows security featuresПриложения должны поддерживать функции безопасности Windows для поддержания целостности операционной системы. Неправильно скомпилированные приложения могут привести к переполнению буфера, что, в свою очередь, может вызвать отказ в обслуживании или позволить выполнение вредоносного кода.
Альтернативный ответ:Известно, что 32-битные приложения Delphi не могут быть сертифицированы для Windows 8.1 из-за отсутствия соблюдения SafeSEH. Однако, как насчет 64-битных приложений? Они могут пройти сертификацию, так как не требуют выполнения требования SafeSEH. Если ответ положительный, какие настройки компилятора/линкера необходимо установить, и какая минимальная версия Delphi требуется? Подтвержденный ответ:Требование /SafeSEH является основным препятствием для сертификации приложений, созданных в Delphi, но оно не применимо к 64-битным приложениям. Windows x64 использует совершенно другую модель исключений по сравнению с x86, и флаг /SafeSEH не применяется к 64-битным приложениям, так как они используют модель исключений на основе таблиц, а не стека. Следовательно, требование 3.2 не актуально для 64-битных приложений. Требования 3.1 и 3.5 являются простыми для выполнения: просто не делайте того, что они запрещают. Требования 3.3 и 3.4 могут быть выполнены путем установки соответствующих флагов PE, которые можно настроить с помощью директивы {$SetPEFlags} в Delphi. Пример кода на Object Pascal (Delphi):
Заключение:64-битные приложения Delphi могут быть сертифицированы для Windows 8.1, при условии правильной настройки компилятора и линкера. Важно убедиться, что версия Delphi не ниже XE2, и что все требования безопасности Windows, не связанные с SafeSEH, соблюдаются. Разработка и сертификация 64-битных приложений на Delphi для Windows 8.1, включая настройку компилятора и линкера для соответствия требованиям безопасности. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |