private void InitializeBluePrint() { Segments.Add(Assembly.DosHeader); Segments.Add(Assembly.NtHeaders); Segments.Add(_sectionsTableBuilder); _textSectionBuilder = _sectionsTableBuilder.GetSectionBuilder(".text"); _textSectionBuilder.Header.Attributes = ImageSectionAttributes.MemoryExecute | ImageSectionAttributes.MemoryRead | ImageSectionAttributes.ContentCode; _textSectionBuilder.Segments.Add(TextBuilder = new NetTextBuilder(Assembly.NetDirectory)); if (Assembly.RootResourceDirectory != null) { _rsrcSectionBuilder = _sectionsTableBuilder.GetSectionBuilder(".rsrc"); _rsrcSectionBuilder.Header.Attributes = ImageSectionAttributes.MemoryRead | ImageSectionAttributes.ContentInitializedData; } if (Assembly.RelocationDirectory != null) { _relocSectionBuilder = _sectionsTableBuilder.GetSectionBuilder(".reloc"); _relocSectionBuilder.Header.Attributes = ImageSectionAttributes.MemoryRead | ImageSectionAttributes.MemoryDiscardable | ImageSectionAttributes.ContentInitializedData; } }