7 #ifndef RETDEC_CPDETECT_HEURISTICS_HEURISTICS_H
8 #define RETDEC_CPDETECT_HEURISTICS_HEURISTICS_H
72 std::vector<const retdec::fileformat::Section*>
sections;
88 const std::string &name,
103 const std::string &name,
104 const std::string &version =
"",
105 const std::string &extra =
"");
109 const std::string &name,
110 const std::string &version =
"",
111 const std::string &extra =
"");
115 const std::string &name,
116 const std::string &version =
"",
117 const std::string &extra =
"");
121 const std::string &name,
122 const std::string &version =
"",
123 const std::string &extra =
"");
129 std::size_t matchNibbles,
130 std::size_t totalNibbles,
131 const std::string &name,
132 const std::string &version =
"",
133 const std::string &extra =
"");
135 std::size_t matchNibbles,
136 std::size_t totalNibbles,
137 const std::string &name,
138 const std::string &version =
"",
139 const std::string &extra =
"");
145 const std::string &name,
146 const std::string &extraInfo =
"",
147 bool isBytecode =
false);
149 const std::string &name,
150 const std::string &extraInfo =
"",
151 bool isBytecode =
false);
Definition: heuristics.h:21
void addPriorityLanguage(const std::string &name, const std::string &extraInfo="", bool isBytecode=false)
Definition: heuristics.cpp:404
void getSymbolHeuristic()
Definition: heuristics.cpp:863
bool parseGccComment(const std::string &record)
Definition: heuristics.cpp:493
std::string getEmbarcaderoVersion()
Definition: heuristics.cpp:780
void addLanguage(const std::string &name, const std::string &extraInfo="", bool isBytecode=false)
Definition: heuristics.cpp:384
void addLinker(DetectionMethod source, DetectionStrength strength, const std::string &name, const std::string &version="", const std::string &extra="")
Definition: heuristics.cpp:291
void getCommonLanguageHeuristics()
Definition: heuristics.cpp:918
virtual void getFormatSpecificCompilerHeuristics()
Definition: heuristics.cpp:968
std::map< std::string, std::size_t > sectionNameMap
section name counts
Definition: heuristics.h:74
std::size_t noOfSections
section count
Definition: heuristics.h:76
void getCommentSectionsHeuristics()
Definition: heuristics.cpp:591
ToolInformation & toolInfo
results - detected tools
Definition: heuristics.h:69
bool parseOpen64Comment(const std::string &record)
Definition: heuristics.cpp:556
const DetectResult * isDetected(const std::string &name, const DetectionStrength minStrength=DetectionStrength::LOW)
Definition: heuristics.cpp:928
bool parseGhcComment(const std::string &record)
Definition: heuristics.cpp:520
Heuristics(retdec::fileformat::FileFormat &parser, Search &searcher, ToolInformation &toolInfo)
Definition: heuristics.cpp:235
bool parseGccProducer(const std::string &producer)
Definition: heuristics.cpp:618
void addInstaller(DetectionMethod source, DetectionStrength strength, const std::string &name, const std::string &version="", const std::string &extra="")
Definition: heuristics.cpp:309
bool priorityLanguageIsSet
Definition: heuristics.h:82
bool parseTmsProducer(const std::string &producer)
Definition: heuristics.cpp:663
void addCompiler(DetectionMethod source, DetectionStrength strength, const std::string &name, const std::string &version="", const std::string &extra="")
Definition: heuristics.cpp:273
virtual ~Heuristics()=default
std::size_t findSectionNameStart(const std::string §ionName) const
Definition: heuristics.cpp:432
void addPacker(DetectionMethod source, DetectionStrength strength, const std::string &name, const std::string &version="", const std::string &extra="")
Definition: heuristics.cpp:327
void getAllHeuristics()
Definition: heuristics.cpp:982
bool parseClangProducer(const std::string &producer)
Definition: heuristics.cpp:643
std::size_t findSectionName(const std::string §ionName) const
Definition: heuristics.cpp:422
void getDwarfInfo()
Definition: heuristics.cpp:686
void getEmbarcaderoHeuristics()
Definition: heuristics.cpp:825
std::string getUpxVersion()
Definition: heuristics.cpp:947
virtual void getFormatSpecificLanguageHeuristics()
Definition: heuristics.cpp:975
bool canSearch
true if we can use search engine
Definition: heuristics.h:67
void getCommonToolsHeuristics()
Definition: heuristics.cpp:906
Search & search
signature search engine
Definition: heuristics.h:65
std::vector< const retdec::fileformat::Section * > sections
section information
Definition: heuristics.h:72
void getSectionHeuristics()
Definition: heuristics.cpp:451
retdec::fileformat::FileFormat & fileParser
input file parser
Definition: heuristics.h:63
cpdetectl types and structures.
DetectionStrength
Definition: cptypes.h:75
DetectionMethod
Definition: cptypes.h:50
Definition: archive_wrapper.h:19
Class for search in file.
Definition: cptypes.h:129