LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This class represents the header for a COFF object compiled with /bigobj
support (i.e. the number of sections can exceed 65536).
More...
#include <BigObjHeader.hpp>
Public Member Functions | |
BigObjHeader () | |
BigObjHeader & | operator= (const BigObjHeader &)=default |
BigObjHeader (const BigObjHeader &)=default | |
BigObjHeader & | operator= (BigObjHeader &&)=default |
BigObjHeader (BigObjHeader &&)=default | |
std::unique_ptr< Header > | clone () const override |
uint16_t | version () const |
The version of this header which must be >= 2. | |
span< const uint8_t > | uuid () const |
Originally named ClassID , this uuid should match: {D1BAA1C7-BAEE-4ba9-AF20-FAF66AA4DCB8} | |
uint32_t | sizeof_data () const |
Size of data that follows the header. | |
uint32_t | flags () const |
1 means that it contains metadata | |
uint32_t | metadata_size () const |
Size of CLR metadata. | |
uint32_t | metadata_offset () const |
Offset of CLR metadata. | |
void | version (uint16_t value) |
void | sizeof_data (uint32_t value) |
void | flags (uint32_t value) |
void | metadata_size (uint32_t value) |
void | metadata_offset (uint32_t value) |
~BigObjHeader () override=default | |
std::string | to_string () const override |
![]() | |
Header ()=default | |
Header (KIND kind) | |
Header & | operator= (const Header &)=default |
Header (const Header &)=default | |
Header & | operator= (Header &&)=default |
Header (Header &&)=default | |
KIND | kind () const |
The type of this header: whether it is regular or using the /bigobj format. | |
MACHINE_TYPES | machine () const |
The machine type targeted by this COFF. | |
uint32_t | nb_sections () const |
The number of sections. | |
uint32_t | pointerto_symbol_table () const |
Offset of the symbols table. | |
uint32_t | nb_symbols () const |
Number of symbols (including auxiliary symbols) | |
uint32_t | timedatestamp () const |
Timestamp when the COFF has been generated. | |
void | machine (MACHINE_TYPES machine) |
void | nb_sections (uint32_t value) |
void | pointerto_symbol_table (uint32_t value) |
void | nb_symbols (uint32_t value) |
void | timedatestamp (uint32_t value) |
template<class T > | |
const T * | as () const |
virtual | ~Header ()=default |
Static Public Member Functions | |
static std::unique_ptr< BigObjHeader > | create (BinaryStream &stream) |
static bool | classof (const Header *header) |
![]() | |
static std::unique_ptr< Header > | create (BinaryStream &stream) |
Create a header from the given stream. | |
static std::unique_ptr< Header > | create (BinaryStream &stream, KIND kind) |
Static Public Attributes | |
static constexpr auto | UUID_SZ = 16 |
Additional Inherited Members | |
![]() | |
enum class | KIND { UNKNOWN = 0 , REGULAR , BIGOBJ } |
using | MACHINE_TYPES = LIEF::PE::Header::MACHINE_TYPES |
The different architectures (mirrored from PE) | |
This class represents the header for a COFF object compiled with /bigobj
support (i.e. the number of sections can exceed 65536).
The raw definition of the bigobj header is located in winnt.h
and named ANON_OBJECT_HEADER_BIGOBJ
|
inline |
|
default |
|
default |
|
overridedefault |
|
inlinestatic |
References LIEF::COFF::Header::kind().
|
inlineoverridevirtual |
Implements LIEF::COFF::Header.
|
static |
|
inline |
1 means that it contains metadata
|
inline |
|
inline |
Offset of CLR metadata.
|
inline |
|
inline |
Size of CLR metadata.
|
inline |
|
default |
|
default |
|
inline |
Size of data that follows the header.
|
inline |
|
overridevirtual |
Reimplemented from LIEF::COFF::Header.
|
inline |
Originally named ClassID
, this uuid should match: {D1BAA1C7-BAEE-4ba9-AF20-FAF66AA4DCB8}
|
inline |
The version of this header which must be >= 2.
|
inline |
|
staticconstexpr |