Skip to content

LoadConfigInfo

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

Parsed PE load configuration directory. Pointer-width fields are widened to UInt64 so a single record covers PE32 and PE32+ images. Fields beyond the directory’s declared size are zero — real-world load configs are truncated at many historical lengths.

public sealed record LoadConfigInfo : IEquatable<LoadConfigInfo>

ObjectLoadConfigInfo

LoadConfigInfo(uint, uint, ushort, ushort, ushort, ulong, ulong, ulong, ulong, uint, string)

Section titled “LoadConfigInfo(uint, uint, ushort, ushort, ushort, ulong, ulong, ulong, ulong, uint, string)”

Parsed PE load configuration directory. Pointer-width fields are widened to UInt64 so a single record covers PE32 and PE32+ images. Fields beyond the directory’s declared size are zero — real-world load configs are truncated at many historical lengths.

Parameters:

  • Size (UInt32): The declared size of the load configuration directory.
  • TimeDateStamp (UInt32): The directory timestamp.
  • MajorVersion (UInt16): Major version number.
  • MinorVersion (UInt16): Minor version number.
  • DependentLoadFlags (UInt16): Default load flags applied when resolving DLL dependencies.
  • SecurityCookie (UInt64): The VA of the /GS security cookie, or 0 when absent.
  • SehHandlerCount (UInt64): Number of registered structured exception handlers (PE32 /SAFESEH).
  • GuardCfCheckFunctionPointer (UInt64): The VA of the Control Flow Guard check-function pointer, or 0.
  • GuardCfFunctionCount (UInt64): Number of entries in the Control Flow Guard function table.
  • GuardFlags (UInt32): Raw Control Flow Guard flags.
  • GuardFlagsDescription (String): Decoded GuardFlags summary, or “(none)”.
public LoadConfigInfo(uint Size, uint TimeDateStamp, ushort MajorVersion, ushort MinorVersion, ushort DependentLoadFlags, ulong SecurityCookie, ulong SehHandlerCount, ulong GuardCfCheckFunctionPointer, ulong GuardCfFunctionCount, uint GuardFlags, string GuardFlagsDescription)

Default load flags applied when resolving DLL dependencies.

Returns: UInt16

public ushort DependentLoadFlags { get; init; }

The VA of the Control Flow Guard check-function pointer, or 0.

Returns: UInt64

public ulong GuardCfCheckFunctionPointer { get; init; }

Number of entries in the Control Flow Guard function table.

Returns: UInt64

public ulong GuardCfFunctionCount { get; init; }

Raw Control Flow Guard flags.

Returns: UInt32

public uint GuardFlags { get; init; }

Decoded GuardFlags summary, or “(none)”.

Returns: String

public string GuardFlagsDescription { get; init; }

Major version number.

Returns: UInt16

public ushort MajorVersion { get; init; }

Minor version number.

Returns: UInt16

public ushort MinorVersion { get; init; }

The VA of the /GS security cookie, or 0 when absent.

Returns: UInt64

public ulong SecurityCookie { get; init; }

Number of registered structured exception handlers (PE32 /SAFESEH).

Returns: UInt64

public ulong SehHandlerCount { get; init; }

The declared size of the load configuration directory.

Returns: UInt32

public uint Size { get; init; }

The directory timestamp.

Returns: UInt32

public uint TimeDateStamp { get; init; }

Deconstruct(out uint, out uint, out ushort, out ushort, out ushort, out ulong, out ulong, out ulong, out ulong, out uint, out string)

Section titled “Deconstruct(out uint, out uint, out ushort, out ushort, out ushort, out ulong, out ulong, out ulong, out ulong, out uint, out string)”

Parameters:

public void Deconstruct(out uint Size, out uint TimeDateStamp, out ushort MajorVersion, out ushort MinorVersion, out ushort DependentLoadFlags, out ulong SecurityCookie, out ulong SehHandlerCount, out ulong GuardCfCheckFunctionPointer, out ulong GuardCfFunctionCount, out uint GuardFlags, out string GuardFlagsDescription)

Parameters:

Returns: Boolean

public bool Equals(LoadConfigInfo? other)

Parameters:

Returns: Boolean

public override bool Equals(object? obj)

Returns: Int32

public override int GetHashCode()

Returns: String

public override string ToString()

operator !=(LoadConfigInfo?, LoadConfigInfo?)

Section titled “operator !=(LoadConfigInfo?, LoadConfigInfo?)”

Parameters:

Returns: Boolean

public static bool operator !=(LoadConfigInfo? left, LoadConfigInfo? right)

operator ==(LoadConfigInfo?, LoadConfigInfo?)

Section titled “operator ==(LoadConfigInfo?, LoadConfigInfo?)”

Parameters:

Returns: Boolean

public static bool operator ==(LoadConfigInfo? left, LoadConfigInfo? right)