LIEF: Library to Instrument Executable Formats Version
|
Class which provides a view over the GNU Hash implementation. Most of the fields are read-only since the values are re-computed by the LIEF::ELF::Builder. More...
#include <GnuHash.hpp>
Public Member Functions | |
GnuHash (uint32_t symbol_idx, uint32_t shift2, std::vector< uint64_t > bloom_filters, std::vector< uint32_t > buckets, std::vector< uint32_t > hash_values={}) | |
GnuHash & | operator= (const GnuHash ©) |
GnuHash (const GnuHash ©) | |
GnuHash (GnuHash &&) | |
GnuHash & | operator= (GnuHash &&) |
uint32_t | nb_buckets () const |
Return the number of buckets. | |
uint32_t | symbol_index () const |
Index of the first symbol in the dynamic symbols table which accessible with the hash table. | |
uint32_t | shift2 () const |
Shift count used in the bloom filter. | |
uint32_t | maskwords () const |
Number of bloom filters used. It must be a power of 2. | |
const std::vector< uint64_t > & | bloom_filters () const |
Bloom filters. | |
const std::vector< uint32_t > & | buckets () const |
Hash buckets. | |
const std::vector< uint32_t > & | hash_values () const |
Hash values. | |
bool | check_bloom_filter (uint32_t hash) const |
Check if the given hash passes the bloom filter. | |
bool | check_bucket (uint32_t hash) const |
Check if the given hash passes the bucket filter. | |
bool | check (const std::string &symbol_name) const |
Check if the symbol probably exists. If the returned value is false you can assume at 100% that the symbol with the given name doesn't exist. If true , you can't do any assumption. | |
bool | check (uint32_t hash) const |
Check if the symbol associated with the given hash probably exists. If the returned value is false you can assume at 100% that the symbol doesn't exists. If true you can't do any assumption. | |
void | accept (Visitor &visitor) const override |
![]() | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
template<class T > | |
output_t< T > | as () |
template<class T > | |
output_const_t< T > | as () const |
virtual bool | operator== (const Object &other) const |
virtual bool | operator!= (const Object &other) const |
Additional Inherited Members | |
![]() | |
template<class T > | |
using | output_t = add_pointer_t< decay_t< T > > |
template<class T > | |
using | output_const_t = add_pointer_t< add_const_t< decay_t< T > > > |
Class which provides a view over the GNU Hash implementation. Most of the fields are read-only since the values are re-computed by the LIEF::ELF::Builder.
|
overridevirtual |
Implements LIEF::Object.
uint32_t LIEF::ELF::GnuHash::nb_buckets | ( | ) | const |
Return the number of buckets.