Тематический план ] [ Причины возникновения проблем совместимости. Методы выявления проблем совместимости ПО.]
 [ 1 ] [ 2 ] [ 3

                                                                  
Вопросы

Введение
 

По мере развития операционной системы Windows поддержки новых технологий и функций может измениться реализация некоторых функций. Это может привести к проблемам с приложениями, которые основываются на исходной реализации. Вы можете избежать проблем с совместимостью с помощью инфраструктуры совместимости приложений Microsoft Windows (исправление совместимости) для создания исправления для определенной версии приложения.

Принцип работы инфраструктуры исправления совместимости

Инфраструктура исправления совместимости использует возможности связывания API для перенаправления приложения из кода Windows непосредственно в альтернативный код, реализующий исправление совместимости.

В формате переносимого исполняемого файла Windows есть заголовки, содержащие каталоги данных, которые используются для обеспечения уровня косвенного переключения между приложением и связанным файлом. Вызовы API внешних двоичных файлов находятся в таблице адресов импорта (IAT), которая затем напрямую вызывает операционную систему Windows, как показано на приведенном ниже рисунке.


В частности, процесс изменяет адрес уязвимой функции Windows в IAT таким образом, чтобы она указывала на код исправления совместимости, как показано на приведенном ниже рисунке.


Примечание

Для статических связанных DLL перенаправление кода происходит при загрузке приложения. Кроме того, вы можете исправить динамически связываемые DLL-библиотеки, подключая функцию GetProcAddress API.

Влияние инфраструктуры исправления совместимости на проектирование

При определении стратегии исправления приложения необходимо учитывать важные моменты в соответствии с определенными характеристиками инфраструктуры исправления совместимости.

Примечание

Некоторые антивирусные программы, брандмауэры и вредоносные программы работают в режиме ядра.