#include <symbol_pattern.h>
◆ SymbolPattern()
retdec::patterngen::SymbolPattern::SymbolPattern |
( |
bool |
isLittleEndian, |
|
|
std::size_t |
wordBitWidth |
|
) |
| |
Constructors and destructor.
Default constructor.
- Parameters
-
isLittleEndian | byte endianness |
wordBitWidth | word length in bits |
◆ addReference()
void retdec::patterngen::SymbolPattern::addReference |
( |
const std::string & |
refName, |
|
|
const std::size_t & |
offset, |
|
|
const std::vector< std::uint8_t > & |
mask |
|
) |
| |
Add one symbol relocation/reference.
- Parameters
-
refName | name of referenced symbol |
offset | offset of reference in symbol data |
mask | relocation mask vector |
◆ addRuleToBuilder()
void retdec::patterngen::SymbolPattern::addRuleToBuilder |
( |
yaramod::YaraFileBuilder & |
yaraBuilder, |
|
|
const std::string & |
withNote = "" |
|
) |
| const |
Add pattern to yaramod file builder.
- Parameters
-
yaraBuilder | builder to add rule to |
withNote | optional note that will be added to the rule |
◆ createBytePattern()
void retdec::patterngen::SymbolPattern::createBytePattern |
( |
std::uint8_t |
mask, |
|
|
std::uint8_t |
byte, |
|
|
yaramod::YaraHexStringBuilder & |
builder |
|
) |
| const |
|
private |
Create pattern for one byte.
- Parameters
-
mask | relocation mask |
byte | source byte |
builder | builder to add byte pattern to |
◆ getHexPattern()
std::shared_ptr< HexString > retdec::patterngen::SymbolPattern::getHexPattern |
( |
| ) |
const |
|
private |
Get hexadecimal pattern.
- Returns
- shared pointer to HexString pattern
◆ getReferenceString()
std::string retdec::patterngen::SymbolPattern::getReferenceString |
( |
| ) |
const |
|
private |
Data formatting methods.
Format string of references as offset-name pairs.
- Returns
- string with references
◆ loadData() [1/2]
void retdec::patterngen::SymbolPattern::loadData |
( |
const std::vector< unsigned char > & |
symbolData | ) |
|
Load symbol data.
- Parameters
-
◆ loadData() [2/2]
void retdec::patterngen::SymbolPattern::loadData |
( |
std::vector< unsigned char > && |
symbolData | ) |
|
Loading methods.
Load symbol data by move.
- Parameters
-
◆ printYaraRule()
void retdec::patterngen::SymbolPattern::printYaraRule |
( |
std::ostream & |
outputStream, |
|
|
const std::string & |
withNote = "" |
|
) |
| const |
Output methods.
Print pattern as YARA rule to stream.
- Parameters
-
outputStream | stream to print information to |
withNote | optional note that will be added to the rule |
◆ setArchitectureName()
void retdec::patterngen::SymbolPattern::setArchitectureName |
( |
const std::string & |
archName | ) |
|
Set architecture name path.
If not provided, attribute is omitted.
- Parameters
-
archName | architecture name |
◆ setName()
void retdec::patterngen::SymbolPattern::setName |
( |
const std::string & |
symbolName | ) |
|
Setters.
Set symbol name.
If not provided, string 'unknown_symbol' is used.
- Parameters
-
◆ setRuleName()
void retdec::patterngen::SymbolPattern::setRuleName |
( |
const std::string & |
ruleName | ) |
|
Set rule name.
If not provided, string 'unknown_rule' is used. Only alpha-numeric chars are allowed, others are replaced with underscore.
- Parameters
-
◆ setSourcePath()
void retdec::patterngen::SymbolPattern::setSourcePath |
( |
const std::string & |
filePath | ) |
|
Set source path.
If not provided, attribute is omitted.
- Parameters
-
filePath | path to source file |
◆ bitWidth
std::size_t retdec::patterngen::SymbolPattern::bitWidth |
|
private |
◆ data
std::vector<std::uint8_t> retdec::patterngen::SymbolPattern::data |
|
private |
◆ isLittle
bool retdec::patterngen::SymbolPattern::isLittle |
|
private |
◆ metas
std::vector<Meta> retdec::patterngen::SymbolPattern::metas |
|
private |
◆ refs
std::vector<Reference> retdec::patterngen::SymbolPattern::refs |
|
private |
◆ ruleName
std::string retdec::patterngen::SymbolPattern::ruleName |
|
private |
◆ symbolName
std::string retdec::patterngen::SymbolPattern::symbolName |
|
private |
The documentation for this class was generated from the following files:
- /var/cache/acbs/build/acbs.6bu6osb6/retdec/include/retdec/patterngen/pattern_extractor/types/symbol_pattern.h
- /var/cache/acbs/build/acbs.6bu6osb6/retdec/src/patterngen/pattern_extractor/types/symbol_pattern.cpp