Package ghidra.app.util.bin.format.pe

# Class ControlFlowGuard

java.lang.Object
ghidra.app.util.bin.format.pe.ControlFlowGuard

public class ControlFlowGuard extends Object
ControlFlowGuard is a platform security feature that was created to combat memory corruption vulnerabilities.

ReturnFlowGuard was introduced as an addition to ControlFlowGuard in the Windows 10 Creator's update.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static String`
  `GuardCFAddressTakenIatTableName`
  `static String`
  `GuardCFFunctionTableName`
  `static String`
  `GuardCfgTableEntryName`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ControlFlowGuard()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `markup(LoadConfigDirectory lcd, Program program, MessageLog log, NTHeader ntHeader)`
  Perform markup on the supported ControlFlowGuard and ReturnFlowGuard functions and tables, if they exist.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### GuardCFFunctionTableName

    public static String GuardCFFunctionTableName

  - ### GuardCFAddressTakenIatTableName

    public static String GuardCFAddressTakenIatTableName

  - ### GuardCfgTableEntryName

    public static String GuardCfgTableEntryName

- ## Constructor Details

  - ### ControlFlowGuard

    public ControlFlowGuard()

- ## Method Details

  - ### markup

    public static void markup(LoadConfigDirectory lcd, Program program, MessageLog log, NTHeader ntHeader)
    Perform markup on the supported ControlFlowGuard and ReturnFlowGuard functions and tables, if they exist.
    Parameters:
      `lcd` - The PE LoadConfigDirectory.
      `program` - The program.
      `log` - The log.
      `ntHeader` - The PE NTHeader.