AsmResolver.Net.Builder.StartupCodeSegmentBuilder.UpdateReferences C# (CSharp) Метод

UpdateReferences() публичный Метод

public UpdateReferences ( BuildingContext context ) : void
context AsmResolver.Builder.BuildingContext
Результат void
        public override void UpdateReferences(BuildingContext context)
        {
            var isDll = context.Assembly.NtHeaders.FileHeader.Characteristics.HasFlag(ImageCharacteristics.Dll);

            var mscoreeModule = context.Assembly.ImportDirectory.ModuleImports.First(x => x.Name == "mscoree.dll");
            var corMainImport = mscoreeModule.SymbolImports.First(
                x => x.HintName != null && x.HintName.Name == (isDll ? "_CorDllMain" : "_CorExeMain"));
            var address = corMainImport.GetTargetAddress(true);

            context.Assembly.NtHeaders.OptionalHeader.AddressOfEntrypoint =
                (uint)context.Assembly.FileOffsetToRva(StartOffset);

            _addressSegment.Data = BitConverter.GetBytes((uint)(address | context.Assembly.NtHeaders.OptionalHeader.ImageBase));
            base.UpdateReferences(context);
        }