retdec
include
retdec
pelib
ComHeaderDirectory.h
Go to the documentation of this file.
1
/*
2
* ComHeaderDirectory.h - Part of the PeLib library.
3
*
4
* Copyright (c) 2004 - 2005 Sebastian Porst (webmaster@the-interweb.com)
5
* All rights reserved.
6
*
7
* This software is licensed under the zlib/libpng License.
8
* For more details see http://www.opensource.org/licenses/zlib-license.php
9
* or the license information file (license.htm) in the root directory
10
* of PeLib.
11
*/
12
13
#ifndef RETDEC_PELIB_COMHEADERDIRECTORY_H
14
#define RETDEC_PELIB_COMHEADERDIRECTORY_H
15
16
#include "
retdec/pelib/ImageLoader.h
"
17
18
namespace
PeLib
19
{
21
25
class
ComHeaderDirectory
26
{
27
protected
:
28
PELIB_IMAGE_COR20_HEADER
m_ichComHeader
;
29
30
public
:
31
virtual
~ComHeaderDirectory
() =
default
;
32
34
int
read
(
ImageLoader
& imageLoader);
// EXPORT
36
void
rebuild
(std::vector<std::uint8_t>& vBuffer)
const
;
// EXPORT
38
unsigned
int
size
()
const
;
// EXPORT
40
int
write
(
const
std::string& strFilename,
unsigned
int
dwOffset)
const
;
// EXPORT
41
43
std::uint32_t
getSizeOfHeader
()
const
;
// EXPORT
45
std::uint16_t
getMajorRuntimeVersion
()
const
;
// EXPORT
47
std::uint16_t
getMinorRuntimeVersion
()
const
;
// EXPORT
49
std::uint32_t
getMetaDataVa
()
const
;
// EXPORT
51
std::uint32_t
getMetaDataSize
()
const
;
// EXPORT
53
std::uint32_t
getFlags
()
const
;
// EXPORT
55
std::uint32_t
getEntryPointToken
()
const
;
// EXPORT
57
std::uint32_t
getResourcesVa
()
const
;
// EXPORT
59
std::uint32_t
getResourcesSize
()
const
;
// EXPORT
61
std::uint32_t
getStrongNameSignatureVa
()
const
;
// EXPORT
63
std::uint32_t
getStrongNameSignatureSize
()
const
;
// EXPORT
65
std::uint32_t
getCodeManagerTableVa
()
const
;
// EXPORT
67
std::uint32_t
getCodeManagerTableSize
()
const
;
// EXPORT
69
std::uint32_t
getVTableFixupsVa
()
const
;
// EXPORT
71
std::uint32_t
getVTableFixupsSize
()
const
;
// EXPORT
73
std::uint32_t
getExportAddressTableJumpsVa
()
const
;
// EXPORT
75
std::uint32_t
getExportAddressTableJumpsSize
()
const
;
// EXPORT
77
std::uint32_t
getManagedNativeHeaderVa
()
const
;
// EXPORT
79
std::uint32_t
getManagedNativeHeaderSize
()
const
;
// EXPORT
80
82
void
setSizeOfHeader
(std::uint32_t dwValue);
// EXPORT
84
void
setMajorRuntimeVersion
(std::uint16_t wValue);
// EXPORT
86
void
setMinorRuntimeVersion
(std::uint16_t wValue);
// EXPORT
88
void
setMetaDataVa
(std::uint32_t dwValue);
// EXPORT
90
void
setMetaDataSize
(std::uint32_t dwValue);
// EXPORT
92
void
setFlags
(std::uint32_t dwValue);
// EXPORT
94
void
setEntryPointToken
(std::uint32_t dwValue);
// EXPORT
96
void
setResourcesVa
(std::uint32_t dwValue);
// EXPORT
98
void
setResourcesSize
(std::uint32_t dwValue);
// EXPORT
100
void
setStrongNameSignatureVa
(std::uint32_t dwValue);
// EXPORT
102
void
setStrongNameSignagureSize
(std::uint32_t dwValue);
// EXPORT
104
void
setCodeManagerTableVa
(std::uint32_t dwValue);
// EXPORT
106
void
setCodeManagerTableSize
(std::uint32_t dwValue);
// EXPORT
108
void
setVTableFixupsVa
(std::uint32_t dwValue);
// EXPORT
110
void
setVTableFixupsSize
(std::uint32_t dwValue);
// EXPORT
112
void
setExportAddressTableJumpsVa
(std::uint32_t dwValue);
// EXPORT
114
void
setExportAddressTableJumpsSize
(std::uint32_t dwValue);
// EXPORT
116
void
setManagedNativeHeaderVa
(std::uint32_t dwValue);
// EXPORT
118
void
setManagedNativeHeaderSize
(std::uint32_t dwValue);
// EXPORT
119
};
120
}
121
#endif
ImageLoader.h
PeLib::ComHeaderDirectory
Class that handles the COM+ descriptor directory.
Definition:
ComHeaderDirectory.h:26
PeLib::ComHeaderDirectory::setCodeManagerTableVa
void setCodeManagerTableVa(std::uint32_t dwValue)
Change the COM+ descriptor's CodeManagerTable (VirtualAddress) value.
Definition:
ComHeaderDirectory.cpp:358
PeLib::ComHeaderDirectory::setCodeManagerTableSize
void setCodeManagerTableSize(std::uint32_t dwValue)
Change the COM+ descriptor's CodeManagerTable (Size) value.
Definition:
ComHeaderDirectory.cpp:366
PeLib::ComHeaderDirectory::setResourcesVa
void setResourcesVa(std::uint32_t dwValue)
Change the COM+ descriptor's Resources (VirtualAddress) value.
Definition:
ComHeaderDirectory.cpp:326
PeLib::ComHeaderDirectory::setMetaDataVa
void setMetaDataVa(std::uint32_t dwValue)
Change the COM+ descriptor's MetaData (VirtualAddress) value.
Definition:
ComHeaderDirectory.cpp:294
PeLib::ComHeaderDirectory::setExportAddressTableJumpsVa
void setExportAddressTableJumpsVa(std::uint32_t dwValue)
Change the COM+ descriptor's ExportAddressTableJumps (VirtualAddress) value.
Definition:
ComHeaderDirectory.cpp:390
PeLib::ComHeaderDirectory::setExportAddressTableJumpsSize
void setExportAddressTableJumpsSize(std::uint32_t dwValue)
Change the COM+ descriptor's ExportAddressTableJumps (Size) value.
Definition:
ComHeaderDirectory.cpp:398
PeLib::ComHeaderDirectory::getFlags
std::uint32_t getFlags() const
Get the COM+ descriptor's Flags value.
Definition:
ComHeaderDirectory.cpp:158
PeLib::ComHeaderDirectory::setEntryPointToken
void setEntryPointToken(std::uint32_t dwValue)
Change the COM+ descriptor's EntryPointToken value.
Definition:
ComHeaderDirectory.cpp:318
PeLib::ComHeaderDirectory::getExportAddressTableJumpsVa
std::uint32_t getExportAddressTableJumpsVa() const
Get the COM+ descriptor's ExportAddressTable (Virtual Address) value.
Definition:
ComHeaderDirectory.cpp:238
PeLib::ComHeaderDirectory::setSizeOfHeader
void setSizeOfHeader(std::uint32_t dwValue)
Change the COM+ descriptor's SizeOfHeader (cb) value.
Definition:
ComHeaderDirectory.cpp:270
PeLib::ComHeaderDirectory::setVTableFixupsSize
void setVTableFixupsSize(std::uint32_t dwValue)
Change the COM+ descriptor's VTableFixups (Size) value.
Definition:
ComHeaderDirectory.cpp:382
PeLib::ComHeaderDirectory::setFlags
void setFlags(std::uint32_t dwValue)
Change the COM+ descriptor's Flags value.
Definition:
ComHeaderDirectory.cpp:310
PeLib::ComHeaderDirectory::setManagedNativeHeaderVa
void setManagedNativeHeaderVa(std::uint32_t dwValue)
Change the COM+ descriptor's ManagedNativeHeader (VirtualAddress) value.
Definition:
ComHeaderDirectory.cpp:406
PeLib::ComHeaderDirectory::getEntryPointToken
std::uint32_t getEntryPointToken() const
Get the COM+ descriptor's EntryPointToken value.
Definition:
ComHeaderDirectory.cpp:166
PeLib::ComHeaderDirectory::read
int read(ImageLoader &imageLoader)
Read a file's COM+ runtime descriptor directory.
Definition:
ComHeaderDirectory.cpp:23
PeLib::ComHeaderDirectory::getSizeOfHeader
std::uint32_t getSizeOfHeader() const
Get the COM+ descriptor's SizeOfHeader (cb) value.
Definition:
ComHeaderDirectory.cpp:118
PeLib::ComHeaderDirectory::getCodeManagerTableSize
std::uint32_t getCodeManagerTableSize() const
Get the COM+ descriptor's CodeManagerTable (Size) value.
Definition:
ComHeaderDirectory.cpp:214
PeLib::ComHeaderDirectory::getMinorRuntimeVersion
std::uint16_t getMinorRuntimeVersion() const
Get the COM+ descriptor's MinorRuntimeVersion value.
Definition:
ComHeaderDirectory.cpp:134
PeLib::ComHeaderDirectory::getVTableFixupsVa
std::uint32_t getVTableFixupsVa() const
Get the COM+ descriptor's VTableFixup (Virtual Address) value.
Definition:
ComHeaderDirectory.cpp:222
PeLib::ComHeaderDirectory::getMetaDataVa
std::uint32_t getMetaDataVa() const
Get the COM+ descriptor's MetaData (Virtual Address) value.
Definition:
ComHeaderDirectory.cpp:142
PeLib::ComHeaderDirectory::setMajorRuntimeVersion
void setMajorRuntimeVersion(std::uint16_t wValue)
Change the COM+ descriptor's MajorRuntimeVersion value.
Definition:
ComHeaderDirectory.cpp:278
PeLib::ComHeaderDirectory::rebuild
void rebuild(std::vector< std::uint8_t > &vBuffer) const
Rebuild the COM+ descriptor.
Definition:
ComHeaderDirectory.cpp:46
PeLib::ComHeaderDirectory::size
unsigned int size() const
Returns the size of the current COM+ descriptor.
Definition:
ComHeaderDirectory.cpp:74
PeLib::ComHeaderDirectory::setStrongNameSignagureSize
void setStrongNameSignagureSize(std::uint32_t dwValue)
Change the COM+ descriptor's StrongNameSignatureVa (Size) value.
Definition:
ComHeaderDirectory.cpp:350
PeLib::ComHeaderDirectory::getCodeManagerTableVa
std::uint32_t getCodeManagerTableVa() const
Get the COM+ descriptor's CodeManagerTable (Virtual Address) value.
Definition:
ComHeaderDirectory.cpp:206
PeLib::ComHeaderDirectory::getMajorRuntimeVersion
std::uint16_t getMajorRuntimeVersion() const
Get the COM+ descriptor's MajorRuntimeVersion value.
Definition:
ComHeaderDirectory.cpp:126
PeLib::ComHeaderDirectory::write
int write(const std::string &strFilename, unsigned int dwOffset) const
Writes the current COM+ descriptor directory to a file.
Definition:
ComHeaderDirectory.cpp:83
PeLib::ComHeaderDirectory::setMinorRuntimeVersion
void setMinorRuntimeVersion(std::uint16_t wValue)
Change the COM+ descriptor's MinorRuntimeVersion value.
Definition:
ComHeaderDirectory.cpp:286
PeLib::ComHeaderDirectory::~ComHeaderDirectory
virtual ~ComHeaderDirectory()=default
PeLib::ComHeaderDirectory::getMetaDataSize
std::uint32_t getMetaDataSize() const
Get the COM+ descriptor's MetaData (Size) value.
Definition:
ComHeaderDirectory.cpp:150
PeLib::ComHeaderDirectory::setVTableFixupsVa
void setVTableFixupsVa(std::uint32_t dwValue)
Change the COM+ descriptor's VTableFixups (VirtualAddress) value.
Definition:
ComHeaderDirectory.cpp:374
PeLib::ComHeaderDirectory::getResourcesVa
std::uint32_t getResourcesVa() const
Get the COM+ descriptor's Resources (Virtual Address) value.
Definition:
ComHeaderDirectory.cpp:174
PeLib::ComHeaderDirectory::setResourcesSize
void setResourcesSize(std::uint32_t dwValue)
Change the COM+ descriptor's Resources (Size) value.
Definition:
ComHeaderDirectory.cpp:334
PeLib::ComHeaderDirectory::m_ichComHeader
PELIB_IMAGE_COR20_HEADER m_ichComHeader
The COM+ descriptor.
Definition:
ComHeaderDirectory.h:28
PeLib::ComHeaderDirectory::getVTableFixupsSize
std::uint32_t getVTableFixupsSize() const
Get the COM+ descriptor's VTableFixup (Size) value.
Definition:
ComHeaderDirectory.cpp:230
PeLib::ComHeaderDirectory::getManagedNativeHeaderVa
std::uint32_t getManagedNativeHeaderVa() const
Get the COM+ descriptor's ManagedNativeHeader (Virtual Address) value.
Definition:
ComHeaderDirectory.cpp:254
PeLib::ComHeaderDirectory::getStrongNameSignatureSize
std::uint32_t getStrongNameSignatureSize() const
Get the COM+ descriptor's StrongNameSignature (Size) value.
Definition:
ComHeaderDirectory.cpp:198
PeLib::ComHeaderDirectory::setMetaDataSize
void setMetaDataSize(std::uint32_t dwValue)
Change the COM+ descriptor's MetaData (Size) value.
Definition:
ComHeaderDirectory.cpp:302
PeLib::ComHeaderDirectory::setManagedNativeHeaderSize
void setManagedNativeHeaderSize(std::uint32_t dwValue)
Change the COM+ descriptor's ManagedNativeHeader (Size) value.
Definition:
ComHeaderDirectory.cpp:414
PeLib::ComHeaderDirectory::getExportAddressTableJumpsSize
std::uint32_t getExportAddressTableJumpsSize() const
Get the COM+ descriptor's ExportAddressTable (Size) value.
Definition:
ComHeaderDirectory.cpp:246
PeLib::ComHeaderDirectory::setStrongNameSignatureVa
void setStrongNameSignatureVa(std::uint32_t dwValue)
Change the COM+ descriptor's StrongNameSignatureVa (VirtualAddress) value.
Definition:
ComHeaderDirectory.cpp:342
PeLib::ComHeaderDirectory::getStrongNameSignatureVa
std::uint32_t getStrongNameSignatureVa() const
Get the COM+ descriptor's StrongNameSignature (Virtual Address) value.
Definition:
ComHeaderDirectory.cpp:190
PeLib::ComHeaderDirectory::getResourcesSize
std::uint32_t getResourcesSize() const
Get the COM+ descriptor's Resources (Size) value.
Definition:
ComHeaderDirectory.cpp:182
PeLib::ComHeaderDirectory::getManagedNativeHeaderSize
std::uint32_t getManagedNativeHeaderSize() const
Get the COM+ descriptor's ManagedNativeHeader (Size) value.
Definition:
ComHeaderDirectory.cpp:262
PeLib::ImageLoader
Definition:
ImageLoader.h:138
PeLib
Definition:
BoundImportDirectory.h:21
PeLib::PELIB_IMAGE_COR20_HEADER
Definition:
PeLibAux.h:1021
Generated on Tue Aug 8 2023 10:45:49 for retdec by
1.9.1