using System.Runtime.InteropServices; namespace BinaryObjectScanner.Models.PortableExecutable { /// /// Each data directory gives the address and size of a table or string that Windows uses. /// These data directory entries are all loaded into memory so that the system can use them /// at run time. /// /// Also, do not assume that the RVAs in this table point to the beginning of a section or /// that the sections that contain specific tables have specific names. /// /// [StructLayout(LayoutKind.Sequential)] public sealed class DataDirectory { /// /// The first field, VirtualAddress, is actually the RVA of the table. The RVA /// is the address of the table relative to the base address of the image when /// the table is loaded. /// public uint VirtualAddress; /// /// The second field gives the size in bytes. /// public uint Size; } }