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;
}
}