Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Reflection.PortableExecutable.ManagedPEBuilder Class Reference

Public Member Functions

 ManagedPEBuilder (PEHeaderBuilder header, MetadataRootBuilder metadataRootBuilder, BlobBuilder ilStream, BlobBuilder? mappedFieldData=null, BlobBuilder? managedResources=null, ResourceSectionBuilder? nativeResources=null, DebugDirectoryBuilder? debugDirectoryBuilder=null, int strongNameSignatureSize=128, MethodDefinitionHandle entryPoint=default(MethodDefinitionHandle), CorFlags flags=CorFlags.ILOnly, Func< IEnumerable< Blob >, BlobContentId >? deterministicIdProvider=null)
 
void Sign (BlobBuilder peImage, Func< IEnumerable< Blob >, byte[]> signatureProvider)
 
BlobContentId Serialize (BlobBuilder builder)
 

Static Public Attributes

const int ManagedResourcesDataAlignment = 8
 
const int MappedFieldDataAlignment = 8
 

Protected Member Functions

override ImmutableArray< SectionCreateSections ()
 
override BlobBuilder SerializeSection (string name, SectionLocation location)
 
ImmutableArray< SectionGetSections ()
 

Package Functions

override PEDirectoriesBuilder GetDirectories ()
 
void Sign (BlobBuilder peImage, Blob strongNameSignatureFixup, Func< IEnumerable< Blob >, byte[]> signatureProvider)
 

Static Package Functions

static IEnumerable< BlobGetContentToSign (BlobBuilder peImage, int peHeadersSize, int peHeaderAlignment, Blob strongNameSignatureFixup)
 
static Blob GetPrefixBlob (Blob container, Blob blob)
 
static Blob GetSuffixBlob (Blob container, Blob blob)
 
static IEnumerable< BlobGetContentToChecksum (BlobBuilder peImage, Blob checksumFixup)
 
static uint CalculateChecksum (BlobBuilder peImage, Blob checksumFixup)
 

Static Package Attributes

static int DosHeaderSize = s_dosHeader.Length
 

Properties

PEHeaderBuilder Header [get]
 
Func< IEnumerable< Blob >, BlobContentIdIdProvider [get]
 
bool IsDeterministic [get]
 

Private Member Functions

DebugDirectoryBuilder CreateDefaultDebugDirectoryBuilder ()
 
BlobBuilder SerializeTextSection (SectionLocation location)
 
BlobBuilder SerializeResourceSection (SectionLocation location)
 
BlobBuilder SerializeRelocationSection (SectionLocation location)
 
ImmutableArray< SerializedSectionSerializeSections ()
 
void WritePESignature (BlobBuilder builder)
 
void WriteCoffHeader (BlobBuilder builder, ImmutableArray< SerializedSection > sections, out Blob stampFixup)
 
void WritePEHeader (BlobBuilder builder, PEDirectoriesBuilder directories, ImmutableArray< SerializedSection > sections)
 
void WriteSectionHeaders (BlobBuilder builder, ImmutableArray< SerializedSection > serializedSections)
 

Static Private Member Functions

static void WriteRelocationSection (BlobBuilder builder, Machine machine, int entryPointAddress)
 
static void WriteSectionHeader (BlobBuilder builder, SerializedSection serializedSection)
 
static int IndexOfSection (ImmutableArray< SerializedSection > sections, SectionCharacteristics characteristics)
 
static int SumRawDataSizes (ImmutableArray< SerializedSection > sections, SectionCharacteristics characteristics)
 
static unsafe uint CalculateChecksum (IEnumerable< Blob > blobs)
 
static uint AggregateChecksum (uint checksum, ushort value)
 

Private Attributes

readonly PEDirectoriesBuilder _peDirectoriesBuilder
 
readonly MetadataRootBuilder _metadataRootBuilder
 
readonly BlobBuilder _ilStream
 
readonly BlobBuilder _mappedFieldDataOpt
 
readonly BlobBuilder _managedResourcesOpt
 
readonly ResourceSectionBuilder _nativeResourcesOpt
 
readonly int _strongNameSignatureSize
 
readonly MethodDefinitionHandle _entryPointOpt
 
readonly DebugDirectoryBuilder _debugDirectoryBuilderOpt
 
readonly CorFlags _corFlags
 
int _lazyEntryPointAddress
 
Blob _lazyStrongNameSignature
 
readonly Lazy< ImmutableArray< Section > > _lazySections
 
Blob _lazyChecksum
 

Static Private Attributes

static readonly byte[] s_dosHeader
 

Detailed Description

Definition at line 8 of file ManagedPEBuilder.cs.


The documentation for this class was generated from the following file: