/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
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Set компилятора и свойств сборки.
Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Командная строка.
В поле "Дополнительные параметры" введите
/GUARD:CF
. Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.
Задание данного параметра компоновщика программным способом
- См. раздел AdditionalOptions.
См. также
/guard
(Включить функцию управления Flow Guard)
Справочник по компоновщику MSVC
Параметры компоновщика MSVC