Class LoadConfigDirectory

  • All Implemented Interfaces:
    StructConverter

    public class LoadConfigDirectory
    extends java.lang.Object
    implements StructConverter
    A class to represent the IMAGE_LOAD_CONFIG_DIRECTORY data structure which is defined in winnt.h.
    • Constructor Detail

      • LoadConfigDirectory

        public LoadConfigDirectory()
        DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
    • Method Detail

      • getSize

        public int getSize()
        Returns the size (in bytes) of this structure.
        Returns:
        the size (in bytes) of this structure
      • getCriticalSectionDefaultTimeout

        public int getCriticalSectionDefaultTimeout()
        Returns the critical section default time-out value.
        Returns:
        the critical section default time-out value
      • getSeHandlerTable

        public long getSeHandlerTable()
        Gets the safe exception handler table.
        Returns:
        the safe exception handler table.
      • getSeHandlerCount

        public long getSeHandlerCount()
        Gets the safe exception handler table count.
        Returns:
        the safe exception handler table count.
      • getCfgGuardFlags

        public ghidra.app.util.bin.format.pe.LoadConfigDirectory.GuardFlags getCfgGuardFlags()
        Gets the ControlFlowGuard LoadConfigDirectory.GuardFlags.
        Returns:
        The ControlFlowGuard LoadConfigDirectory.GuardFlags.
      • getCfgCheckFunctionPointer

        public long getCfgCheckFunctionPointer()
        Gets the ControlFlowGuard check function pointer address.
        Returns:
        The ControlFlowGuard check function pointer address. Could be 0 if ControlFlowGuard is not being used.
      • getCfgDispatchFunctionPointer

        public long getCfgDispatchFunctionPointer()
        Gets the ControlFlowGuard dispatch function pointer address.
        Returns:
        The ControlFlowGuard dispatch function pointer address. Could be 0 if ControlFlowGuard is not being used.
      • getCfgFunctionTablePointer

        public long getCfgFunctionTablePointer()
        Gets the ControlFlowGuard function table pointer address.
        Returns:
        The ControlFlowGuard function table function pointer address. Could be 0 if ControlFlowGuard is not being used.
      • getCfgFunctionCount

        public long getCfgFunctionCount()
        Gets the ControlFlowGuard function count.
        Returns:
        The ControlFlowGuard function count. Could be 0 if ControlFlowGuard is not being used.
      • getGuardAddressIatTableTablePointer

        public long getGuardAddressIatTableTablePointer()
        Gets the ControlFlowGuard IAT table pointer address.
        Returns:
        The ControlFlowGuard IAT table function pointer address. Could be 0 if ControlFlowGuard is not being used
      • getGuardAddressIatTableCount

        public long getGuardAddressIatTableCount()
        Gets the ControlFlowGuard IAT entries count.
        Returns:
        The ControlFlowGuard IAT entries count. Could be 0 if ControlFlowGuard is not being used
      • getRfgFailureRoutine

        public long getRfgFailureRoutine()
        Gets the ReturnFlowGuard failure routine address.
        Returns:
        The ReturnFlowGuard failure routine address. Could be 0 if ReturnFlowGuard is not being used.
      • getRfgFailureRoutineFunctionPointer

        public long getRfgFailureRoutineFunctionPointer()
        Gets the ReturnFlowGuard failure routine function pointer address.
        Returns:
        The ReturnFlowGuard failure routine function pointer address. Could be 0 if ReturnFlowGuard is not being used.
      • getRfgVerifyStackPointerFunctionPointer

        public long getRfgVerifyStackPointerFunctionPointer()
        Gets the ReturnFlowGuard verify stack pointer function pointer address.
        Returns:
        The ReturnFlowGuard verify stack pointer function pointer address. Could be 0 if ReturnFlowGuard is not being used.
      • toDataType

        public DataType toDataType()
                            throws DuplicateNameException
        Description copied from interface: StructConverter
        Returns a structure datatype representing the contents of the implementor of this interface.

        For example, given:

         class A {
             int foo;
             double bar;
         }
         

        The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.

        Specified by:
        toDataType in interface StructConverter
        Returns:
        returns a structure datatype representing the implementor of this interface
        Throws:
        DuplicateNameException - when a datatype of the same name already exists
        See Also:
        StructureDataType