using System.Collections.Generic; namespace BurnOutSharp.Models.PortableExecutable { /// /// All image files that import symbols, including virtually all executable (EXE) files, /// have an .idata section. A typical file layout for the import information follows: /// /// - Directory Table /// Null Directory Entry /// - DLL1 Import Lookup Table /// Null /// - DLL2 Import Lookup Table /// Null /// - DLL3 Import Lookup Table /// Null /// - Hint-Name Table /// /// public class ImportTable { /// /// The import information begins with the import directory table, which describes the /// remainder of the import information. /// public ImportDirectoryTableEntry[] ImportDirectoryTable; /// /// An import lookup table is an array of 32-bit numbers for PE32 or an array of 64-bit /// numbers for PE32+. /// public Dictionary ImportLookupTables; /// /// These addresses are the actual memory addresses of the symbols, although technically /// they are still called "virtual addresses". /// public Dictionary ImportAddressTables; /// /// One hint/name table suffices for the entire import section. /// public HintNameTableEntry[] HintNameTable; } }