7 #ifndef RETDEC_CPDETECT_SEARCH_H
8 #define RETDEC_CPDETECT_SEARCH_H
33 RelativeJump(std::string sSlash, std::size_t sBytesAfter);
49 std::vector<RelativeJump>
jumps;
82 std::size_t fileOffset,
84 std::int64_t &moveSize)
const;
90 const std::string &signPattern)
const;
92 const std::string &signPattern,
93 std::size_t startOffset,
94 std::size_t stopOffset)
const;
96 const std::string &signPattern,
97 std::size_t startOffset,
98 std::size_t stopOffset)
const;
100 const std::string &signPattern,
101 std::size_t fileOffset,
102 std::size_t shift = 0)
const;
104 const std::string &signPattern,
106 std::size_t fileOffset,
107 std::size_t shift = 0)
const;
109 const std::string &signPattern,
111 std::size_t startOffset,
112 std::size_t stopOffset)
const;
117 bool hasString(
const std::string &str)
const;
118 bool hasString(
const std::string &str, std::size_t fileOffset)
const;
120 const std::string &str,
121 std::size_t startOffset,
122 std::size_t stopOffset)
const;
124 const std::string &str,
127 const std::string &str,
128 std::size_t sectionIndex)
const;
130 const std::string &str,
131 const std::string §ionName)
const;
137 std::string &pattern,
138 std::size_t fileOffset,
139 std::size_t size)
const;
std::size_t getBytesAfter() const
Definition: search.cpp:113
RelativeJump(std::string sSlash, std::size_t sBytesAfter)
Definition: search.cpp:83
std::size_t bytesAfter
number of bytes after slash for read
Definition: search.h:31
std::string slash
representations of '/' in file
Definition: search.h:29
std::string getSlash() const
Definition: search.cpp:96
std::size_t getSlashNibbleSize() const
Definition: search.cpp:104
std::size_t averageSlashLen
average length of one slash representation
Definition: search.h:51
std::string nibbles
content of file in hexadecimal string representation
Definition: search.h:45
const RelativeJump * getRelativeJump(std::size_t fileOffset, std::size_t shift, std::int64_t &moveSize) const
Definition: search.cpp:193
bool isFileSupported() const
Definition: search.cpp:161
std::vector< RelativeJump > jumps
representation of supported relative jumps
Definition: search.h:49
bool isFileLoaded() const
Definition: search.cpp:152
unsigned long long countImpNibbles(const std::string &signPattern) const
Definition: search.cpp:252
bool areaSimilarity(const std::string &signPattern, Similarity &sim, std::size_t startOffset, std::size_t stopOffset) const
Definition: search.cpp:499
std::size_t bytesFromNibbles(std::size_t nNibbles) const
Definition: search.cpp:143
bool hasString(const std::string &str) const
Definition: search.cpp:552
bool countSimilarity(const std::string &signPattern, Similarity &sim, std::size_t fileOffset, std::size_t shift=0) const
Definition: search.cpp:423
std::size_t nibblesFromBytes(std::size_t nBytes) const
Definition: search.cpp:133
bool createSignature(std::string &pattern, std::size_t fileOffset, std::size_t size) const
Definition: search.cpp:635
bool fileLoaded
true if file was successfully loaded, false otherwise
Definition: search.h:53
unsigned long long findSlashedSignature(const std::string &signPattern, std::size_t startOffset, std::size_t stopOffset) const
Definition: search.cpp:320
const std::string & getPlainString() const
Definition: search.cpp:179
unsigned long long findUnslashedSignature(const std::string &signPattern, std::size_t startOffset, std::size_t stopOffset) const
Definition: search.cpp:280
bool haveSlashes() const
Definition: search.cpp:123
bool fileSupported
Definition: search.h:56
unsigned long long exactComparison(const std::string &signPattern, std::size_t fileOffset, std::size_t shift=0) const
Definition: search.cpp:359
bool hasStringInSection(const std::string &str, const retdec::fileformat::Section *section) const
Definition: search.cpp:591
Search(retdec::fileformat::FileFormat &fileParser)
Definition: search.cpp:46
std::string plain
content of file as plain string
Definition: search.h:47
const std::string & getNibbles() const
Definition: search.cpp:170
retdec::fileformat::FileFormat & parser
Definition: search.h:43
cpdetectl types and structures.
Definition: archive_wrapper.h:19
Definition: cptypes.h:246