public override void VisitImportTable(ImportTable it) { m_textWriter.BaseStream.Position = m_mdWriter.ImportTablePosition; m_textWriter.Write(it.ImportLookupTable.Value); m_textWriter.Write(it.DateTimeStamp); m_textWriter.Write(it.ForwardChain); m_textWriter.Write(it.Name.Value); m_textWriter.Write(it.ImportAddressTable.Value); m_textWriter.Write(new byte [20]); }
internal Image() { m_dosHeader = new DOSHeader(); m_peFileHeader = new PEFileHeader(); m_peOptionalHeader = new PEOptionalHeader(); m_sections = new SectionCollection(); m_importAddressTable = new ImportAddressTable(); m_importTable = new ImportTable(); m_importLookupTable = new ImportLookupTable(); m_hintNameTable = new HintNameTable(); m_mdRoot = new MetadataRoot(this); }
public override void VisitImportTable(ImportTable it) { if (m_image.PEOptionalHeader.DataDirectories.ImportTable.VirtualAddress == RVA.Zero) { return; } SetPositionToAddress(m_image.PEOptionalHeader.DataDirectories.ImportTable.VirtualAddress); it.ImportLookupTable = ReadRVA(); it.DateTimeStamp = m_binaryReader.ReadUInt32(); it.ForwardChain = m_binaryReader.ReadUInt32(); it.Name = ReadRVA(); it.ImportAddressTable = ReadRVA(); }
public override void VisitImportTable(ImportTable it) { it.ImportAddressTable = new RVA(0x2000); }