retdec
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
PeLib::RichHeader Class Reference

#include <RichHeader.h>

Collaboration diagram for PeLib::RichHeader:
Collaboration graph
[legend]

Public Types

typedef std::vector< PELIB_IMAGE_RICH_HEADER_RECORD >::const_iterator richHeaderIterator
 

Public Member Functions

 RichHeader ()
 
 ~RichHeader ()
 
int read (std::istream &inStream, std::size_t uiOffset, std::size_t uiSize, bool ignoreInvalidKey)
 
bool isHeaderValid () const
 
bool isStructureValid () const
 
std::size_t getNumberOfIterations () const
 
std::uint32_t getKey () const
 
const std::uint32_t * getDecryptedHeaderItem (std::size_t index) const
 
std::string getDecryptedHeaderItemSignature (std::size_t index) const
 
std::string getDecryptedHeaderItemsSignature (std::initializer_list< std::size_t > indexes) const
 
std::vector< std::uint8_t > getDecryptedHeaderBytes () const
 
richHeaderIterator begin () const
 
richHeaderIterator end () const
 

Private Member Functions

void init ()
 
void setValidStructure ()
 
void getUserFriendlyProductName (PELIB_IMAGE_RICH_HEADER_RECORD &record)
 
bool analyze (bool ignoreInvalidKey=false)
 
void read (InputBuffer &inputbuffer, std::size_t uiSize, bool ignoreInvalidKey)
 

Private Attributes

bool headerIsValid
 
bool validStructure
 
std::uint32_t key
 
std::size_t noOfIters
 
std::vector< std::uint32_t > decryptedHeader
 
std::vector< PELIB_IMAGE_RICH_HEADER_RECORDrecords
 

Detailed Description

This class handless rich header.

Member Typedef Documentation

◆ richHeaderIterator

Constructor & Destructor Documentation

◆ RichHeader()

PeLib::RichHeader::RichHeader ( )

◆ ~RichHeader()

PeLib::RichHeader::~RichHeader ( )

Member Function Documentation

◆ analyze()

bool PeLib::RichHeader::analyze ( bool  ignoreInvalidKey = false)
private

◆ begin()

RichHeader::richHeaderIterator PeLib::RichHeader::begin ( ) const

◆ end()

RichHeader::richHeaderIterator PeLib::RichHeader::end ( ) const

◆ getDecryptedHeaderBytes()

std::vector< std::uint8_t > PeLib::RichHeader::getDecryptedHeaderBytes ( ) const

◆ getDecryptedHeaderItem()

const std::uint32_t * PeLib::RichHeader::getDecryptedHeaderItem ( std::size_t  index) const

◆ getDecryptedHeaderItemSignature()

std::string PeLib::RichHeader::getDecryptedHeaderItemSignature ( std::size_t  index) const

◆ getDecryptedHeaderItemsSignature()

std::string PeLib::RichHeader::getDecryptedHeaderItemsSignature ( std::initializer_list< std::size_t >  indexes) const

◆ getKey()

std::uint32_t PeLib::RichHeader::getKey ( ) const

◆ getNumberOfIterations()

std::size_t PeLib::RichHeader::getNumberOfIterations ( ) const

◆ getUserFriendlyProductName()

void PeLib::RichHeader::getUserFriendlyProductName ( PELIB_IMAGE_RICH_HEADER_RECORD record)
private

◆ init()

void PeLib::RichHeader::init ( )
private

◆ isHeaderValid()

bool PeLib::RichHeader::isHeaderValid ( ) const

◆ isStructureValid()

bool PeLib::RichHeader::isStructureValid ( ) const

◆ read() [1/2]

void PeLib::RichHeader::read ( InputBuffer inputbuffer,
std::size_t  uiSize,
bool  ignoreInvalidKey 
)
private

◆ read() [2/2]

int PeLib::RichHeader::read ( std::istream &  inStream,
std::size_t  uiOffset,
std::size_t  uiSize,
bool  ignoreInvalidKey 
)

◆ setValidStructure()

void PeLib::RichHeader::setValidStructure ( )
private

Member Data Documentation

◆ decryptedHeader

std::vector<std::uint32_t> PeLib::RichHeader::decryptedHeader
private

◆ headerIsValid

bool PeLib::RichHeader::headerIsValid
private

◆ key

std::uint32_t PeLib::RichHeader::key
private

◆ noOfIters

std::size_t PeLib::RichHeader::noOfIters
private

◆ records

std::vector<PELIB_IMAGE_RICH_HEADER_RECORD> PeLib::RichHeader::records
private

◆ validStructure

bool PeLib::RichHeader::validStructure
private

The documentation for this class was generated from the following files: