16#ifndef LIEF_ELF_HASH_H
17#define LIEF_ELF_HASH_H
19#include "LIEF/visibility.h"
20#include "LIEF/hash.hpp"
30class DynamicEntryArray;
31class DynamicEntryLibrary;
32class DynamicEntryRpath;
33class DynamicEntryRunPath;
34class DynamicSharedObject;
35class DynamicEntryFlags;
39class SymbolVersionAux;
40class SymbolVersionAuxRequirement;
41class SymbolVersionRequirement;
42class SymbolVersionDefinition;
60 static LIEF::Hash::value_type hash(
const Object& obj);
63 using LIEF::Hash::Hash;
64 using LIEF::Hash::visit;
67 void visit(
const Binary& binary)
override;
68 void visit(
const Header& header)
override;
69 void visit(
const Section& section)
override;
70 void visit(
const Segment& segment)
override;
78 void visit(
const Symbol& symbol)
override;
79 void visit(
const Relocation& relocation)
override;
85 void visit(
const Note& note)
override;
87 void visit(
const NoteAbi& note)
override;
91 void visit(
const CoreAuxv& auxv)
override;
93 void visit(
const CoreFile& file)
override;
94 void visit(
const GnuHash& gnuhash)
override;
95 void visit(
const SysvHash& sysvhash)
override;
Class representing the ".note.android.ident" section.
Definition AndroidIdent.hpp:32
Class which represents an ELF binary.
Definition ELF/Binary.hpp:59
Class representing core auxv object.
Definition CoreAuxv.hpp:32
Class representing a core NT_FILE which describes the mapped files of the process.
Definition CoreFile.hpp:31
Class representing the NT_PRPSINFO core note. This kind of note represents general information about ...
Definition CorePrPsInfo.hpp:31
Class representing core PrPsInfo object.
Definition CorePrStatus.hpp:35
Class representing a core siginfo object.
Definition CoreSigInfo.hpp:31
Class that represent an Array in the dynamic table. This entry is associated with constructors:
Definition DynamicEntryArray.hpp:35
Definition DynamicEntryFlags.hpp:28
Class which represents a DT_NEEDED entry in the dynamic table.
Definition DynamicEntryLibrary.hpp:29
Class which represents a DT_RPATH entry. This attribute is deprecated (cf. man ld) in favour of DT_RU...
Definition DynamicEntryRpath.hpp:30
Class that represents a DT_RUNPATH wich is used by the loader to resolve libraries (DynamicEntryLibra...
Definition DynamicEntryRunPath.hpp:30
Class which represents an entry in the dynamic table These entries are located in the ....
Definition DynamicEntry.hpp:37
Class which represents a DT_SONAME entry in the dynamic table This kind of entry is usually used to n...
Definition DynamicSharedObject.hpp:31
Class which provides a view over the GNU Hash implementation. Most of the fields are read-only since ...
Definition GnuHash.hpp:36
Class which implements a visitor to compute a deterministic hash for LIEF ELF objects.
Definition ELF/hash.hpp:58
Class that wraps the NT_GNU_ABI_TAG note.
Definition NoteAbi.hpp:31
Class that wraps the NT_GNU_PROPERTY_TYPE_0 note.
Definition NoteGnuProperty.hpp:30
Class which represents an ELF note. This class can be instantiated using the static Note::create func...
Definition Note.hpp:36
Class that represents an ELF relocation.
Definition ELF/Relocation.hpp:40
Class wich represents an ELF Section.
Definition ELF/Section.hpp:46
Class which represents the ELF segments.
Definition Segment.hpp:44
Definition SymbolVersionAuxRequirement.hpp:35
Class which represents an Auxiliary Symbol version.
Definition SymbolVersionAux.hpp:30
Class which represents an entry defined in DT_VERDEF or .gnu.version_d
Definition SymbolVersionDefinition.hpp:39
Class which represents an entry in the DT_VERNEED or .gnu.version_r table.
Definition SymbolVersionRequirement.hpp:39
Class which represents an entry defined in the DT_VERSYM dynamic entry.
Definition SymbolVersion.hpp:32
Class which represents an ELF symbol.
Definition ELF/Symbol.hpp:35
Class which represents the SYSV hash for the symbols resolution.
Definition SysvHash.hpp:39
LIEF namespace.
Definition Abstract/Binary.hpp:32