retdec
|
Class that handles the COM+ descriptor directory. More...
#include <ComHeaderDirectory.h>
Public Member Functions | |
virtual | ~ComHeaderDirectory ()=default |
int | read (ImageLoader &imageLoader) |
Read a file's COM+ runtime descriptor directory. More... | |
void | rebuild (std::vector< std::uint8_t > &vBuffer) const |
Rebuild the COM+ descriptor. More... | |
unsigned int | size () const |
Returns the size of the current COM+ descriptor. More... | |
int | write (const std::string &strFilename, unsigned int dwOffset) const |
Writes the current COM+ descriptor directory to a file. More... | |
std::uint32_t | getSizeOfHeader () const |
Get the COM+ descriptor's SizeOfHeader (cb) value. More... | |
std::uint16_t | getMajorRuntimeVersion () const |
Get the COM+ descriptor's MajorRuntimeVersion value. More... | |
std::uint16_t | getMinorRuntimeVersion () const |
Get the COM+ descriptor's MinorRuntimeVersion value. More... | |
std::uint32_t | getMetaDataVa () const |
Get the COM+ descriptor's MetaData (Virtual Address) value. More... | |
std::uint32_t | getMetaDataSize () const |
Get the COM+ descriptor's MetaData (Size) value. More... | |
std::uint32_t | getFlags () const |
Get the COM+ descriptor's Flags value. More... | |
std::uint32_t | getEntryPointToken () const |
Get the COM+ descriptor's EntryPointToken value. More... | |
std::uint32_t | getResourcesVa () const |
Get the COM+ descriptor's Resources (Virtual Address) value. More... | |
std::uint32_t | getResourcesSize () const |
Get the COM+ descriptor's Resources (Size) value. More... | |
std::uint32_t | getStrongNameSignatureVa () const |
Get the COM+ descriptor's StrongNameSignature (Virtual Address) value. More... | |
std::uint32_t | getStrongNameSignatureSize () const |
Get the COM+ descriptor's StrongNameSignature (Size) value. More... | |
std::uint32_t | getCodeManagerTableVa () const |
Get the COM+ descriptor's CodeManagerTable (Virtual Address) value. More... | |
std::uint32_t | getCodeManagerTableSize () const |
Get the COM+ descriptor's CodeManagerTable (Size) value. More... | |
std::uint32_t | getVTableFixupsVa () const |
Get the COM+ descriptor's VTableFixup (Virtual Address) value. More... | |
std::uint32_t | getVTableFixupsSize () const |
Get the COM+ descriptor's VTableFixup (Size) value. More... | |
std::uint32_t | getExportAddressTableJumpsVa () const |
Get the COM+ descriptor's ExportAddressTable (Virtual Address) value. More... | |
std::uint32_t | getExportAddressTableJumpsSize () const |
Get the COM+ descriptor's ExportAddressTable (Size) value. More... | |
std::uint32_t | getManagedNativeHeaderVa () const |
Get the COM+ descriptor's ManagedNativeHeader (Virtual Address) value. More... | |
std::uint32_t | getManagedNativeHeaderSize () const |
Get the COM+ descriptor's ManagedNativeHeader (Size) value. More... | |
void | setSizeOfHeader (std::uint32_t dwValue) |
Change the COM+ descriptor's SizeOfHeader (cb) value. More... | |
void | setMajorRuntimeVersion (std::uint16_t wValue) |
Change the COM+ descriptor's MajorRuntimeVersion value. More... | |
void | setMinorRuntimeVersion (std::uint16_t wValue) |
Change the COM+ descriptor's MinorRuntimeVersion value. More... | |
void | setMetaDataVa (std::uint32_t dwValue) |
Change the COM+ descriptor's MetaData (VirtualAddress) value. More... | |
void | setMetaDataSize (std::uint32_t dwValue) |
Change the COM+ descriptor's MetaData (Size) value. More... | |
void | setFlags (std::uint32_t dwValue) |
Change the COM+ descriptor's Flags value. More... | |
void | setEntryPointToken (std::uint32_t dwValue) |
Change the COM+ descriptor's EntryPointToken value. More... | |
void | setResourcesVa (std::uint32_t dwValue) |
Change the COM+ descriptor's Resources (VirtualAddress) value. More... | |
void | setResourcesSize (std::uint32_t dwValue) |
Change the COM+ descriptor's Resources (Size) value. More... | |
void | setStrongNameSignatureVa (std::uint32_t dwValue) |
Change the COM+ descriptor's StrongNameSignatureVa (VirtualAddress) value. More... | |
void | setStrongNameSignagureSize (std::uint32_t dwValue) |
Change the COM+ descriptor's StrongNameSignatureVa (Size) value. More... | |
void | setCodeManagerTableVa (std::uint32_t dwValue) |
Change the COM+ descriptor's CodeManagerTable (VirtualAddress) value. More... | |
void | setCodeManagerTableSize (std::uint32_t dwValue) |
Change the COM+ descriptor's CodeManagerTable (Size) value. More... | |
void | setVTableFixupsVa (std::uint32_t dwValue) |
Change the COM+ descriptor's VTableFixups (VirtualAddress) value. More... | |
void | setVTableFixupsSize (std::uint32_t dwValue) |
Change the COM+ descriptor's VTableFixups (Size) value. More... | |
void | setExportAddressTableJumpsVa (std::uint32_t dwValue) |
Change the COM+ descriptor's ExportAddressTableJumps (VirtualAddress) value. More... | |
void | setExportAddressTableJumpsSize (std::uint32_t dwValue) |
Change the COM+ descriptor's ExportAddressTableJumps (Size) value. More... | |
void | setManagedNativeHeaderVa (std::uint32_t dwValue) |
Change the COM+ descriptor's ManagedNativeHeader (VirtualAddress) value. More... | |
void | setManagedNativeHeaderSize (std::uint32_t dwValue) |
Change the COM+ descriptor's ManagedNativeHeader (Size) value. More... | |
Protected Attributes | |
PELIB_IMAGE_COR20_HEADER | m_ichComHeader |
The COM+ descriptor. More... | |
Class that handles the COM+ descriptor directory.
This class handles the COM+ Descriptor directory which was added to PE files which work with the .NET runtime modules.
|
virtualdefault |
std::uint32_t PeLib::ComHeaderDirectory::getCodeManagerTableSize | ( | ) | const |
Get the COM+ descriptor's CodeManagerTable (Size) value.
std::uint32_t PeLib::ComHeaderDirectory::getCodeManagerTableVa | ( | ) | const |
Get the COM+ descriptor's CodeManagerTable (Virtual Address) value.
std::uint32_t PeLib::ComHeaderDirectory::getEntryPointToken | ( | ) | const |
Get the COM+ descriptor's EntryPointToken value.
std::uint32_t PeLib::ComHeaderDirectory::getExportAddressTableJumpsSize | ( | ) | const |
Get the COM+ descriptor's ExportAddressTable (Size) value.
std::uint32_t PeLib::ComHeaderDirectory::getExportAddressTableJumpsVa | ( | ) | const |
Get the COM+ descriptor's ExportAddressTable (Virtual Address) value.
std::uint32_t PeLib::ComHeaderDirectory::getFlags | ( | ) | const |
Get the COM+ descriptor's Flags value.
std::uint16_t PeLib::ComHeaderDirectory::getMajorRuntimeVersion | ( | ) | const |
Get the COM+ descriptor's MajorRuntimeVersion value.
std::uint32_t PeLib::ComHeaderDirectory::getManagedNativeHeaderSize | ( | ) | const |
Get the COM+ descriptor's ManagedNativeHeader (Size) value.
std::uint32_t PeLib::ComHeaderDirectory::getManagedNativeHeaderVa | ( | ) | const |
Get the COM+ descriptor's ManagedNativeHeader (Virtual Address) value.
std::uint32_t PeLib::ComHeaderDirectory::getMetaDataSize | ( | ) | const |
Get the COM+ descriptor's MetaData (Size) value.
std::uint32_t PeLib::ComHeaderDirectory::getMetaDataVa | ( | ) | const |
Get the COM+ descriptor's MetaData (Virtual Address) value.
std::uint16_t PeLib::ComHeaderDirectory::getMinorRuntimeVersion | ( | ) | const |
Get the COM+ descriptor's MinorRuntimeVersion value.
std::uint32_t PeLib::ComHeaderDirectory::getResourcesSize | ( | ) | const |
Get the COM+ descriptor's Resources (Size) value.
std::uint32_t PeLib::ComHeaderDirectory::getResourcesVa | ( | ) | const |
Get the COM+ descriptor's Resources (Virtual Address) value.
std::uint32_t PeLib::ComHeaderDirectory::getSizeOfHeader | ( | ) | const |
Get the COM+ descriptor's SizeOfHeader (cb) value.
std::uint32_t PeLib::ComHeaderDirectory::getStrongNameSignatureSize | ( | ) | const |
Get the COM+ descriptor's StrongNameSignature (Size) value.
std::uint32_t PeLib::ComHeaderDirectory::getStrongNameSignatureVa | ( | ) | const |
Get the COM+ descriptor's StrongNameSignature (Virtual Address) value.
std::uint32_t PeLib::ComHeaderDirectory::getVTableFixupsSize | ( | ) | const |
Get the COM+ descriptor's VTableFixup (Size) value.
std::uint32_t PeLib::ComHeaderDirectory::getVTableFixupsVa | ( | ) | const |
Get the COM+ descriptor's VTableFixup (Virtual Address) value.
int PeLib::ComHeaderDirectory::read | ( | ImageLoader & | imageLoader | ) |
Read a file's COM+ runtime descriptor directory.
Reads a file's COM+ descriptor.
imageLoader | Reference to the valid PE image loader |
void PeLib::ComHeaderDirectory::rebuild | ( | std::vector< std::uint8_t > & | vBuffer | ) | const |
Rebuild the COM+ descriptor.
Rebuilds the current COM+ descriptor.
vBuffer | Buffer where the COM+ descriptor will be written to. |
void PeLib::ComHeaderDirectory::setCodeManagerTableSize | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's CodeManagerTable (Size) value.
dwValue | New value for the current CodeManagerTable (Size) value. |
void PeLib::ComHeaderDirectory::setCodeManagerTableVa | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's CodeManagerTable (VirtualAddress) value.
dwValue | New value for the current CodeManagerTable (VirtualAddress) value. |
void PeLib::ComHeaderDirectory::setEntryPointToken | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's EntryPointToken value.
dwValue | New value for the current EntryPointToken value. |
void PeLib::ComHeaderDirectory::setExportAddressTableJumpsSize | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's ExportAddressTableJumps (Size) value.
dwValue | New value for the current ExportAddressTableJumps (Size) value. |
void PeLib::ComHeaderDirectory::setExportAddressTableJumpsVa | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's ExportAddressTableJumps (VirtualAddress) value.
dwValue | New value for the current ExportAddressTableJumps (VirtualAddress) value. |
void PeLib::ComHeaderDirectory::setFlags | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's Flags value.
dwValue | New value for the current Flags value. |
void PeLib::ComHeaderDirectory::setMajorRuntimeVersion | ( | std::uint16_t | wValue | ) |
Change the COM+ descriptor's MajorRuntimeVersion value.
wValue | New value for the current MajorRuntimeVersion value. |
void PeLib::ComHeaderDirectory::setManagedNativeHeaderSize | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's ManagedNativeHeader (Size) value.
dwValue | New value for the current ManagedNativeHeader (Size) value. |
void PeLib::ComHeaderDirectory::setManagedNativeHeaderVa | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's ManagedNativeHeader (VirtualAddress) value.
dwValue | New value for the current ManagedNativeHeader (VirtualAddress) value. |
void PeLib::ComHeaderDirectory::setMetaDataSize | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's MetaData (Size) value.
dwValue | New value for the current MetaData (Size) value. |
void PeLib::ComHeaderDirectory::setMetaDataVa | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's MetaData (VirtualAddress) value.
dwValue | New value for the current MetaData (VirtualAddress) value. |
void PeLib::ComHeaderDirectory::setMinorRuntimeVersion | ( | std::uint16_t | wValue | ) |
Change the COM+ descriptor's MinorRuntimeVersion value.
wValue | New value for the current MinorRuntimeVersion value. |
void PeLib::ComHeaderDirectory::setResourcesSize | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's Resources (Size) value.
dwValue | New value for the current Resources (Size) value. |
void PeLib::ComHeaderDirectory::setResourcesVa | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's Resources (VirtualAddress) value.
dwValue | New value for the current Resources (VirtualAddress) value. |
void PeLib::ComHeaderDirectory::setSizeOfHeader | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's SizeOfHeader (cb) value.
dwValue | New value for the current SizeOfHeader (cb) value. |
void PeLib::ComHeaderDirectory::setStrongNameSignagureSize | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's StrongNameSignatureVa (Size) value.
dwValue | New value for the current StrongNameSignature (Size) value. |
void PeLib::ComHeaderDirectory::setStrongNameSignatureVa | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's StrongNameSignatureVa (VirtualAddress) value.
dwValue | New value for the current StrongNameSignature (VirtualAddress) value. |
void PeLib::ComHeaderDirectory::setVTableFixupsSize | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's VTableFixups (Size) value.
dwValue | New value for the current VTableFixups (Size) value. |
void PeLib::ComHeaderDirectory::setVTableFixupsVa | ( | std::uint32_t | dwValue | ) |
Change the COM+ descriptor's VTableFixups (VirtualAddress) value.
dwValue | New value for the current VTableFixups (VirtualAddress) value. |
unsigned int PeLib::ComHeaderDirectory::size | ( | ) | const |
Returns the size of the current COM+ descriptor.
int PeLib::ComHeaderDirectory::write | ( | const std::string & | strFilename, |
unsigned int | dwOffset | ||
) | const |
Writes the current COM+ descriptor directory to a file.
strFilename | Name of the file. |
dwOffset | File offset the COM+ descriptor will be written to. |
|
protected |
The COM+ descriptor.