|
LIEF: Library to Instrument Executable Formats Version 1.0.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 |
| Public Member Functions inherited from LIEF::COFF::Header | |
| 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 Public Member Functions inherited from LIEF::COFF::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 | |
| Public Types inherited from LIEF::COFF::Header | |
| 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 |
References LIEF::COFF::Header::BIGOBJ, and LIEF::COFF::Header::Header().
Referenced by BigObjHeader(), BigObjHeader(), clone(), operator=(), and operator=().
|
default |
References BigObjHeader().
|
default |
References BigObjHeader().
|
overridedefault |
|
inlinestatic |
References LIEF::COFF::Header::BIGOBJ, LIEF::COFF::Header::Header(), and LIEF::COFF::Header::kind().
|
inlineoverridevirtual |
Implements LIEF::COFF::Header.
References BigObjHeader().
|
static |
|
inline |
1 means that it contains metadata
|
inline |
|
inline |
Offset of CLR metadata.
|
inline |
|
inline |
Size of CLR metadata.
|
inline |
|
default |
References BigObjHeader().
|
default |
References BigObjHeader().
|
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 |