namespace X86Disassembler.PE { /// /// Represents the Export Directory of a PE file /// public class ExportDirectory { public uint Characteristics; // Reserved, must be 0 public uint TimeDateStamp; // Time and date stamp public ushort MajorVersion; // Major version public ushort MinorVersion; // Minor version public uint Name; // RVA of the name of the DLL public string DllName; // The actual name of the DLL public uint Base; // Ordinal base public uint NumberOfFunctions; // Number of functions public uint NumberOfNames; // Number of names public uint AddressOfFunctions; // RVA of the export address table public uint AddressOfNames; // RVA of the export names table public uint AddressOfNameOrdinals; // RVA of the ordinal table } /// /// Represents an exported function in a PE file /// public class ExportedFunction { public string Name; // Function name public ushort Ordinal; // Function ordinal public uint Address; // Function RVA public bool IsForwarder; // True if this is a forwarder public string ForwarderName; // Name of the forwarded function } }