internal CLRHeader(Location location, IMAGE_COR20_HEADER header) { _runtimeVersion = null; _metaData = null; _resources = null; _snSig = null; _codeManTable = null; _vtableFixups = null; _exportAddressTable = null; _nativeHeader = null; Location = location; HeaderSize = header.cb; MajorRuntimeVersion = header.MajorRuntimeVersion; MinorRuntimeVersion = header.MinorRuntimeVersion; MetaDataAddress = header.MetaData.VirtualAddress; MetaDataSize = header.MetaData.Size; Flags = header.Flags; EntryPointTokenOrVirtualAddress = header.EntryPointTokenOrRVA; ResourcesAddress = header.Resources.VirtualAddress; ResourcesSize = header.Resources.Size; StrongNameSignatureAddress = header.StrongNameSignature.VirtualAddress; StrongNameSignatureSize = header.StrongNameSignature.Size; CodeManagerTableAddress = header.CodeManagerTable.VirtualAddress; CodeManagerTableSize = header.CodeManagerTable.Size; VTableFixupsAddress = header.VTableFixups.VirtualAddress; VTableFixupsSize = header.VTableFixups.Size; ExportAddressTableJumpsAddress = header.ExportAddressTableJumps.VirtualAddress; ExportAddressTableJumpsSize = header.ExportAddressTableJumps.Size; ManagedNativeHeaderAddress = header.ManagedNativeHeader.VirtualAddress; ManagedNativeHeaderSize = header.ManagedNativeHeader.Size; }
public CLRDataDirectory GetExportAddressTableJumps() { if (_exportAddressTable == null) { _exportAddressTable = new CLRDataDirectory(ExportAddressTableJumpsAddress, ExportAddressTableJumpsSize); } return(_exportAddressTable); }
public CLRDataDirectory GetManagedNativeHeader() { if (_nativeHeader == null) { _nativeHeader = new CLRDataDirectory(ManagedNativeHeaderAddress, ManagedNativeHeaderSize); } return(_nativeHeader); }
public CLRDataDirectory GetVTableFixups() { if (_vtableFixups == null) { _vtableFixups = new CLRDataDirectory(VTableFixupsAddress, VTableFixupsSize); } return(_vtableFixups); }
public CLRDataDirectory GetCodeManagerTable() { if (_codeManTable == null) { _codeManTable = new CLRDataDirectory(CodeManagerTableAddress, CodeManagerTableSize); } return(_codeManTable); }
public CLRDataDirectory GetStrongNameSignature() { if (_snSig == null) { _snSig = new CLRDataDirectory(StrongNameSignatureAddress, StrongNameSignatureSize); } return(_snSig); }
public CLRDataDirectory GetResources() { if (_resources == null) { _resources = new CLRDataDirectory(ResourcesAddress, ResourcesSize); } return(_resources); }
public CLRDataDirectory GetMetaData() { if (_metaData == null) { _metaData = new CLRDataDirectory(MetaDataAddress, MetaDataSize); } return(_metaData); }