Represents a module in the import data directory of a windows assembly image.
Наследование: FileSegment
Пример #1
0
        internal static ImageModuleImport FromReadingContext(ReadingContext context)
        {
            var application  = context.Assembly;
            var reader       = context.Reader;
            var moduleImport = new ImageModuleImport
            {
                StartOffset          = reader.Position,
                ImportLookupTableRva = reader.ReadUInt32(),
                TimeDateStamp        = reader.ReadUInt32(),
                ForwarderChain       = reader.ReadUInt32(),
                NameRva = reader.ReadUInt32(),
                ImportAddressTableRva = reader.ReadUInt32(),
            };

            if (moduleImport.IsEmpty)
            {
                return(moduleImport);
            }

            var nameReader = reader.CreateSubReader(application.RvaToFileOffset(moduleImport.NameRva));

            moduleImport.Name = nameReader.ReadAsciiString();

            moduleImport._readingContext =
                context.CreateSubContext(application.RvaToFileOffset(moduleImport.ImportLookupTableRva));

            return(moduleImport);
        }
Пример #2
0
 public ImageSymbolImportCollection(ImageModuleImport owner)
 {
     _owner = owner;
 }
Пример #3
0
        internal static ImageModuleImport FromReadingContext(ReadingContext context)
        {
            var application = context.Assembly;
            var reader = context.Reader;
            var moduleImport = new ImageModuleImport
            {
                StartOffset = reader.Position,
                ImportLookupTableRva = reader.ReadUInt32(),
                TimeDateStamp = reader.ReadUInt32(),
                ForwarderChain = reader.ReadUInt32(),
                NameRva = reader.ReadUInt32(),
                ImportAddressTableRva = reader.ReadUInt32(),
            };

            if (moduleImport.IsEmpty)
                return moduleImport;

            var nameReader = reader.CreateSubReader(application.RvaToFileOffset(moduleImport.NameRva));
            moduleImport.Name = nameReader.ReadAsciiString();

            moduleImport._readingContext =
                context.CreateSubContext(application.RvaToFileOffset(moduleImport.ImportLookupTableRva));

            return moduleImport;
        }