retdec
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
retdec::common::Pattern Class Reference

#include <pattern.h>

Collaboration diagram for retdec::common::Pattern:
Collaboration graph
[legend]

Classes

class  Match
 

Public Member Functions

 Pattern ()
 
bool operator== (const Pattern &val) const
 
bool operator!= (const Pattern &val) const
 
Pattern query methods.
bool isTypeOther () const
 
bool isTypeCrypto () const
 
bool isTypeMalware () const
 
bool isEndianUnknown () const
 
bool isEndianLittle () const
 
bool isEndianBig () const
 
Pattern set methods.
void setName (const std::string &name)
 
void setDescription (const std::string &description)
 
void setYaraRuleName (const std::string &yaraRuleName)
 
void setIsTypeOther ()
 
void setIsTypeCrypto ()
 
void setIsTypeMalware ()
 
void setIsEndianUnknown ()
 
void setIsEndianLittle ()
 
void setIsEndianBig ()
 
Pattern get methods.
std::string getName () const
 
std::string getDescription () const
 
std::string getYaraRuleName () const
 

Static Public Member Functions

static Pattern other (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 
static Pattern otherLittle (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 
static Pattern otherBig (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 
static Pattern crypto (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 
static Pattern cryptoLittle (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 
static Pattern cryptoBig (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 
static Pattern malware (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 
static Pattern malwareLittle (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 
static Pattern malwareBig (const std::string &name="", const std::string &description="", const std::string &yaraRuleName="")
 

Public Attributes

std::vector< Matchmatches
 

Private Types

enum class  eType { OTHER , CRYPTO , MALWARE }
 
enum class  eEndian { UNKNOWN , LITTLE , BIG }
 

Private Member Functions

 Pattern (const std::string &name, const std::string &description, const std::string &yaraRuleName, eType type, eEndian endian)
 

Private Attributes

std::string _name
 
std::string _description
 
std::string _yaraRuleName
 
eType _type = eType::OTHER
 
eEndian _endian = eEndian::UNKNOWN
 

Detailed Description

Represents pattern (e.g. crypto signature, malware) found in binary.

Member Enumeration Documentation

◆ eEndian

Enumerator
UNKNOWN 
LITTLE 
BIG 

◆ eType

enum retdec::common::Pattern::eType
strongprivate
Enumerator
OTHER 
CRYPTO 
MALWARE 

Constructor & Destructor Documentation

◆ Pattern() [1/2]

retdec::common::Pattern::Pattern ( )

◆ Pattern() [2/2]

retdec::common::Pattern::Pattern ( const std::string &  name,
const std::string &  description,
const std::string &  yaraRuleName,
eType  type,
eEndian  endian 
)
private

Member Function Documentation

◆ crypto()

Pattern retdec::common::Pattern::crypto ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ cryptoBig()

Pattern retdec::common::Pattern::cryptoBig ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ cryptoLittle()

Pattern retdec::common::Pattern::cryptoLittle ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ getDescription()

std::string retdec::common::Pattern::getDescription ( ) const

◆ getName()

std::string retdec::common::Pattern::getName ( ) const

◆ getYaraRuleName()

std::string retdec::common::Pattern::getYaraRuleName ( ) const

◆ isEndianBig()

bool retdec::common::Pattern::isEndianBig ( ) const

◆ isEndianLittle()

bool retdec::common::Pattern::isEndianLittle ( ) const

◆ isEndianUnknown()

bool retdec::common::Pattern::isEndianUnknown ( ) const

◆ isTypeCrypto()

bool retdec::common::Pattern::isTypeCrypto ( ) const

◆ isTypeMalware()

bool retdec::common::Pattern::isTypeMalware ( ) const

◆ isTypeOther()

bool retdec::common::Pattern::isTypeOther ( ) const

◆ malware()

Pattern retdec::common::Pattern::malware ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ malwareBig()

Pattern retdec::common::Pattern::malwareBig ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ malwareLittle()

Pattern retdec::common::Pattern::malwareLittle ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ operator!=()

bool retdec::common::Pattern::operator!= ( const Pattern val) const

◆ operator==()

bool retdec::common::Pattern::operator== ( const Pattern val) const
Returns
This instance is equal with the provided one if all the members are equal.

◆ other()

Pattern retdec::common::Pattern::other ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ otherBig()

Pattern retdec::common::Pattern::otherBig ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ otherLittle()

Pattern retdec::common::Pattern::otherLittle ( const std::string &  name = "",
const std::string &  description = "",
const std::string &  yaraRuleName = "" 
)
static

◆ setDescription()

void retdec::common::Pattern::setDescription ( const std::string &  description)

◆ setIsEndianBig()

void retdec::common::Pattern::setIsEndianBig ( )

◆ setIsEndianLittle()

void retdec::common::Pattern::setIsEndianLittle ( )

◆ setIsEndianUnknown()

void retdec::common::Pattern::setIsEndianUnknown ( )

◆ setIsTypeCrypto()

void retdec::common::Pattern::setIsTypeCrypto ( )

◆ setIsTypeMalware()

void retdec::common::Pattern::setIsTypeMalware ( )

◆ setIsTypeOther()

void retdec::common::Pattern::setIsTypeOther ( )

◆ setName()

void retdec::common::Pattern::setName ( const std::string &  name)

◆ setYaraRuleName()

void retdec::common::Pattern::setYaraRuleName ( const std::string &  yaraRuleName)

Member Data Documentation

◆ _description

std::string retdec::common::Pattern::_description
private

◆ _endian

eEndian retdec::common::Pattern::_endian = eEndian::UNKNOWN
private

◆ _name

std::string retdec::common::Pattern::_name
private

◆ _type

eType retdec::common::Pattern::_type = eType::OTHER
private

◆ _yaraRuleName

std::string retdec::common::Pattern::_yaraRuleName
private

◆ matches

std::vector<Match> retdec::common::Pattern::matches

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