/GUARD (Включить проверки Guard)

Указывает компоновщику, следует ли поддерживать проверку Control Flow Guard в исполняемом образе.

Синтаксис

/GUARD:CF
/GUARD:NO

Замечания

Параметр /GUARD:CF компоновщика изменяет заголовок ФАЙЛА DLL или EXE, чтобы указать поддержку проверок среды выполнения Control Flow Guard (CFG). Компоновщик также добавляет в заголовок требуемый целевой поток управления. По умолчанию /GUARD:CF отключен. Его можно явно отключить с помощью /GUARD:NO. Чтобы быть эффективным, /GUARD:CF также требуется /DYNAMICBASE параметр компоновщика (использовать выборку макета адресного пространства), которая включена по умолчанию.

При компиляции исходного кода с помощью /guard:cf параметра компилятора компилятор анализирует поток управления, проверяя все косвенные вызовы возможных целевых адресов. Компилятор вставляет код, чтобы убедиться, что целевой адрес инструкции косвенного вызова находится в списке известных целевых адресов во время выполнения. Операционные системы, поддерживающие CFG, останавливают программу, для которой проверка в среде выполнения CFG завершается сбоем. Эта проверка затрудняет выполнение злоумышленником вредоносного кода с помощью повреждения данных для изменения целевого объекта вызова.

Параметр /GUARD:CF должен быть указан компилятору и компоновщику для создания исполняемых образов с поддержкой CFG. Код, скомпилированный, но не связанный с использованием /GUARD:CF затрат на проверку среды выполнения, но не включает защиту CFG. /guard:cf Если параметр указан команде cl для компиляции и связывания на одном шаге, компилятор передает флаг компоновщику. Если свойство Control Flow Guard задано в Visual Studio, /GUARD:CF параметр передается компилятору и компоновщику. Если файлы или библиотеки были скомпилированы отдельно, параметр должен быть явно указан в команде link .

Настройка этого параметра компоновщика в Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Set компилятора и свойств сборки.

  2. Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Командная строка.

  3. В поле "Дополнительные параметры" введите /GUARD:CF. Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.

Задание данного параметра компоновщика программным способом

См. также

/guard (Включить функцию управления Flow Guard)
Справочник по компоновщику MSVC
Параметры компоновщика MSVC