| LIEF: Library to Instrument Executable Formats Version 1.0.0
    | 
Class which implements a visitor to compute a deterministic hash for LIEF ELF objects. More...
#include <hash.hpp>


| Public Member Functions | |
| void | visit (const Binary &binary) override | 
| void | visit (const Header &header) override | 
| void | visit (const Section §ion) override | 
| void | visit (const Segment &segment) override | 
| void | visit (const DynamicEntry &entry) override | 
| void | visit (const DynamicEntryArray &entry) override | 
| void | visit (const DynamicEntryLibrary &entry) override | 
| void | visit (const DynamicEntryRpath &entry) override | 
| void | visit (const DynamicEntryRunPath &entry) override | 
| void | visit (const DynamicSharedObject &entry) override | 
| void | visit (const DynamicEntryFlags &entry) override | 
| void | visit (const Symbol &symbol) override | 
| void | visit (const Relocation &relocation) override | 
| void | visit (const SymbolVersion &sv) override | 
| void | visit (const SymbolVersionAux &sv) override | 
| void | visit (const SymbolVersionAuxRequirement &sv) override | 
| void | visit (const SymbolVersionRequirement &svr) override | 
| void | visit (const SymbolVersionDefinition &svd) override | 
| void | visit (const Note ¬e) override | 
| void | visit (const AndroidIdent ¬e) override | 
| void | visit (const QNXStack ¬e) override | 
| void | visit (const NoteAbi ¬e) override | 
| void | visit (const NoteGnuProperty ¬e) override | 
| void | visit (const CorePrPsInfo &pinfo) override | 
| void | visit (const CorePrStatus &pstatus) override | 
| void | visit (const CoreAuxv &auxv) override | 
| void | visit (const CoreSigInfo &siginfo) override | 
| void | visit (const CoreFile &file) override | 
| void | visit (const GnuHash &gnuhash) override | 
| void | visit (const SysvHash &sysvhash) override | 
| ~Hash () override | |
| Hash () | |
| Hash (value_type init_value) | |
| Public Member Functions inherited from LIEF::Hash | |
| Hash () | |
| Hash (value_type init_value) | |
| virtual Hash & | process (const Object &obj) | 
| virtual Hash & | process (size_t integer) | 
| virtual Hash & | process (const std::string &str) | 
| virtual Hash & | process (const std::u16string &str) | 
| virtual Hash & | process (const std::vector< uint8_t > &raw) | 
| virtual Hash & | process (span< const uint8_t > raw) | 
| template<class T, typename = typename std::enable_if<std::is_enum<T>::value>::type> | |
| Hash & | process (T v) | 
| template<class It> | |
| Hash & | process (typename It::iterator v) | 
| template<class T, size_t N> | |
| Hash & | process (const std::array< T, N > &array) | 
| template<class T> | |
| Hash & | process (const std::vector< T > &vector) | 
| template<class T> | |
| Hash & | process (const std::set< T > &set) | 
| template<class T> | |
| Hash & | process (const optional< T > &opt) | 
| template<class U, class V> | |
| Hash & | process (const std::pair< U, V > &p) | 
| template<class InputIt> | |
| Hash & | process (InputIt begin, InputIt end) | 
| value_type | value () const | 
| ~Hash () override | |
| virtual void | visit (const Object &) | 
| virtual void | visit (const Binary &) | 
| Method to visit a LIEF::Binary. | |
| virtual void | visit (const Header &) | 
| Method to visit a LIEF::Header. | |
| virtual void | visit (const Section &) | 
| Method to visit a LIEF::Section. | |
| virtual void | visit (const Symbol &) | 
| Method to visit a LIEF::Symbol. | |
| virtual void | visit (const Relocation &) | 
| Method to visit a LIEF::Relocation. | |
| virtual void | visit (const Function &) | 
| Method to visit a LIEF::Function. | |
| virtual void | visit (const ELF::Binary &) | 
| virtual void | visit (const ELF::Header &) | 
| virtual void | visit (const ELF::Section &) | 
| virtual void | visit (const ELF::Segment &) | 
| virtual void | visit (const ELF::DynamicEntry &) | 
| virtual void | visit (const ELF::DynamicEntryArray &) | 
| virtual void | visit (const ELF::DynamicEntryLibrary &) | 
| virtual void | visit (const ELF::DynamicSharedObject &) | 
| virtual void | visit (const ELF::DynamicEntryRunPath &) | 
| virtual void | visit (const ELF::DynamicEntryRpath &) | 
| virtual void | visit (const ELF::DynamicEntryFlags &) | 
| virtual void | visit (const ELF::Symbol &) | 
| virtual void | visit (const ELF::Relocation &) | 
| virtual void | visit (const ELF::SymbolVersion &) | 
| virtual void | visit (const ELF::SymbolVersionRequirement &) | 
| virtual void | visit (const ELF::SymbolVersionDefinition &) | 
| virtual void | visit (const ELF::SymbolVersionAux &) | 
| virtual void | visit (const ELF::SymbolVersionAuxRequirement &) | 
| virtual void | visit (const ELF::Note &) | 
| virtual void | visit (const ELF::AndroidIdent &) | 
| virtual void | visit (const ELF::QNXStack &) | 
| virtual void | visit (const ELF::NoteAbi &) | 
| virtual void | visit (const ELF::NoteGnuProperty &) | 
| virtual void | visit (const ELF::CorePrPsInfo &) | 
| virtual void | visit (const ELF::CorePrStatus &) | 
| virtual void | visit (const ELF::CoreAuxv &) | 
| virtual void | visit (const ELF::CoreSigInfo &) | 
| virtual void | visit (const ELF::CoreFile &) | 
| virtual void | visit (const ELF::GnuHash &) | 
| virtual void | visit (const ELF::SysvHash &) | 
| virtual void | visit (const PE::Binary &) | 
| Method to visit a LIEF::PE::Binary. | |
| virtual void | visit (const PE::DosHeader &) | 
| Method to visit a LIEF::PE::DosHeader. | |
| virtual void | visit (const PE::RichHeader &) | 
| Method to visit a LIEF::PE:RichHeader. | |
| virtual void | visit (const PE::RichEntry &) | 
| Method to visit a LIEF::PE:RichEntry. | |
| virtual void | visit (const PE::Header &) | 
| Method to visit a LIEF::PE::Header. | |
| virtual void | visit (const PE::OptionalHeader &) | 
| Method to visit a LIEF::PE::OptionalHeader. | |
| virtual void | visit (const PE::DataDirectory &) | 
| Method to visit a LIEF::PE::DataDirectory. | |
| virtual void | visit (const PE::TLS &) | 
| Method to visit a LIEF::PE::TLS. | |
| virtual void | visit (const PE::Section &) | 
| Method to visit a LIEF::PE::Section. | |
| virtual void | visit (const PE::Relocation &) | 
| Method to visit a LIEF::PE::Relocation. | |
| virtual void | visit (const PE::RelocationEntry &) | 
| Method to visit a LIEF::PE::RelocationEntry. | |
| virtual void | visit (const PE::Export &) | 
| Method to visit a LIEF::PE::Export. | |
| virtual void | visit (const PE::ExportEntry &) | 
| Method to visit a LIEF::PE::ExportEntry. | |
| virtual void | visit (const PE::Debug &) | 
| Method to visit a LIEF::PE::Debug. | |
| virtual void | visit (const PE::CodeView &) | 
| Method to visit a LIEF::PE::CodeView. | |
| virtual void | visit (const PE::CodeViewPDB &) | 
| Method to visit a LIEF::PE::CodeViewPDB. | |
| virtual void | visit (const PE::Import &) | 
| Method to visit a LIEF::PE::Import. | |
| virtual void | visit (const PE::ImportEntry &) | 
| Method to visit a LIEF::PE::ImportEntry. | |
| virtual void | visit (const PE::DelayImport &) | 
| Method to visit a LIEF::PE::DelayImport. | |
| virtual void | visit (const PE::DelayImportEntry &) | 
| Method to visit a LIEF::PE::DelayImportEntry. | |
| virtual void | visit (const PE::ResourceNode &) | 
| Method to visit a LIEF::PE::ResourceNode. | |
| virtual void | visit (const PE::ResourceData &) | 
| Method to visit a LIEF::PE::ResourceData. | |
| virtual void | visit (const PE::ResourceDirectory &) | 
| Method to visit a LIEF::PE::ResourceDirectory. | |
| virtual void | visit (const PE::ResourcesManager &) | 
| Method to visit a LIEF::PE::ResourceVersion. | |
| virtual void | visit (const PE::ResourceVersion &) | 
| Method to visit a LIEF::PE::ResourceVersion. | |
| virtual void | visit (const PE::ResourceStringFileInfo &) | 
| Method to visit a LIEF::PE::ResourceStringFileInfo. | |
| virtual void | visit (const PE::ResourceVarFileInfo &) | 
| Method to visit a LIEF::PE::ResourceVarFileInfo. | |
| virtual void | visit (const PE::ResourceStringTable &) | 
| Method to visit a LIEF::PE::ResourceStringTable. | |
| virtual void | visit (const PE::ResourceAccelerator &) | 
| Method to visit a LIEF::PE::ResourceAccelerator. | |
| virtual void | visit (const PE::ResourceIcon &) | 
| Method to visit a LIEF::PE::ResourceIcon. | |
| virtual void | visit (const PE::ResourceDialogExtended &) | 
| Method to visit a LIEF::PE::ResourceDialogExtended. | |
| virtual void | visit (const PE::ResourceDialogRegular &) | 
| Method to visit a LIEF::PE::ResourceDialogRegular. | |
| virtual void | visit (const PE::Signature &) | 
| Method to visit a LIEF::PE::Signature. | |
| virtual void | visit (const PE::x509 &) | 
| Method to visit a LIEF::PE::x509. | |
| virtual void | visit (const PE::SignerInfo &) | 
| Method to visit a LIEF::PE::SignerInfo. | |
| virtual void | visit (const PE::ContentInfo &) | 
| Method to visit a LIEF::PE::ContentInfo. | |
| virtual void | visit (const PE::Attribute &) | 
| Method to visit a LIEF::PE::Attribute. | |
| virtual void | visit (const PE::ContentType &) | 
| Method to visit a LIEF::PE::ContentType. | |
| virtual void | visit (const PE::GenericContent &) | 
| Method to visit a LIEF::PE::GenericContent. | |
| virtual void | visit (const PE::SpcIndirectData &) | 
| Method to visit a LIEF::PE::SpcIndirectData. | |
| virtual void | visit (const PE::GenericType &) | 
| Method to visit a LIEF::PE::GenericType. | |
| virtual void | visit (const PE::MsCounterSign &) | 
| Method to visit a LIEF::PE::MsCounterSign. | |
| virtual void | visit (const PE::MsManifestBinaryID &) | 
| Method to visit a LIEF::PE::MsManifestBinaryID. | |
| virtual void | visit (const PE::MsSpcNestedSignature &) | 
| Method to visit a LIEF::PE::MsSpcNestedSignature. | |
| virtual void | visit (const PE::MsSpcStatementType &) | 
| Method to visit a LIEF::PE::MsSpcStatementType. | |
| virtual void | visit (const PE::PKCS9AtSequenceNumber &) | 
| Method to visit a LIEF::PE::PKCS9AtSequenceNumber. | |
| virtual void | visit (const PE::PKCS9CounterSignature &) | 
| Method to visit a LIEF::PE::PKCS9CounterSignature. | |
| virtual void | visit (const PE::PKCS9MessageDigest &) | 
| Method to visit a LIEF::PE::PKCS9MessageDigest. | |
| virtual void | visit (const PE::PKCS9SigningTime &) | 
| Method to visit a LIEF::PE::PKCS9SigningTime. | |
| virtual void | visit (const PE::SpcSpOpusInfo &) | 
| Method to visit a LIEF::PE::SpcSpOpusInfo. | |
| virtual void | visit (const PE::SpcRelaxedPeMarkerCheck &) | 
| Method to visit a LIEF::PE::SpcRelaxedPeMarkerCheck. | |
| virtual void | visit (const PE::SigningCertificateV2 &) | 
| Method to visit a LIEF::PE::SigningCertificateV2. | |
| virtual void | visit (const PE::LoadConfiguration &) | 
| Method to visit a LIEF::PE::LoadConfiguration. | |
| virtual void | visit (const PE::CodeIntegrity &) | 
| Method to visit a LIEF::PE::CodeIntegrity. | |
| virtual void | visit (const PE::Pogo &) | 
| Method to visit a LIEF::PE::Pogo. | |
| virtual void | visit (const PE::PogoEntry &) | 
| Method to visit a LIEF::PE::PogoEntry. | |
| virtual void | visit (const PE::Repro &) | 
| Method to visit a LIEF::PE::Repro. | |
| virtual void | visit (const MachO::Binary &) | 
| Method to visit a LIEF::MachO::Binary. | |
| virtual void | visit (const MachO::Header &) | 
| Method to visit a LIEF::MachO::Header. | |
| virtual void | visit (const MachO::LoadCommand &) | 
| Method to visit a LIEF::MachO::LoadCommand. | |
| virtual void | visit (const MachO::UUIDCommand &) | 
| Method to visit a LIEF::MachO::UUIDCommand. | |
| virtual void | visit (const MachO::SymbolCommand &) | 
| Method to visit a LIEF::MachO::SymbolCommand. | |
| virtual void | visit (const MachO::SegmentCommand &) | 
| Method to visit a LIEF::MachO::SegmentCommand. | |
| virtual void | visit (const MachO::Section &) | 
| Method to visit a LIEF::MachO::Section. | |
| virtual void | visit (const MachO::MainCommand &) | 
| Method to visit a LIEF::MachO::MainCommand. | |
| virtual void | visit (const MachO::NoteCommand &) | 
| Method to visit a LIEF::MachO::NoteCommand. | |
| virtual void | visit (const MachO::DynamicSymbolCommand &) | 
| Method to visit a LIEF::MachO::DynamicSymbolCommand. | |
| virtual void | visit (const MachO::DylinkerCommand &) | 
| Method to visit a LIEF::MachO::DylinkerCommand. | |
| virtual void | visit (const MachO::DylibCommand &) | 
| Method to visit a LIEF::MachO::DylibCommand. | |
| virtual void | visit (const MachO::ThreadCommand &) | 
| Method to visit a LIEF::MachO::ThreadCommand. | |
| virtual void | visit (const MachO::RPathCommand &) | 
| Method to visit a LIEF::MachO::RPathCommand. | |
| virtual void | visit (const MachO::Symbol &) | 
| Method to visit a LIEF::MachO::Symbol. | |
| virtual void | visit (const MachO::Relocation &) | 
| Method to visit a LIEF::MachO::Relocation. | |
| virtual void | visit (const MachO::RelocationObject &) | 
| Method to visit a LIEF::MachO::RelocationObject. | |
| virtual void | visit (const MachO::RelocationDyld &) | 
| Method to visit a LIEF::MachO::RelocationDyld. | |
| virtual void | visit (const MachO::RelocationFixup &) | 
| Method to visit a LIEF::MachO::RelocationFixup. | |
| virtual void | visit (const MachO::BindingInfo &) | 
| Method to visit a LIEF::MachO::BindingInfo. | |
| virtual void | visit (const MachO::DyldBindingInfo &) | 
| Method to visit a LIEF::MachO::DyldBindingInfo. | |
| virtual void | visit (const MachO::ChainedBindingInfo &) | 
| Method to visit a LIEF::MachO::ChainedBindingInfo. | |
| virtual void | visit (const MachO::DyldExportsTrie &) | 
| Method to visit a LIEF::MachO::DyldExportsTrie. | |
| virtual void | visit (const MachO::ExportInfo &) | 
| Method to visit a LIEF::MachO::ExportInfo. | |
| virtual void | visit (const MachO::FunctionStarts &) | 
| Method to visit a LIEF::MachO::FunctionStarts. | |
| virtual void | visit (const MachO::CodeSignature &) | 
| Method to visit a LIEF::MachO::CodeSignature. | |
| virtual void | visit (const MachO::DataInCode &) | 
| Method to visit a LIEF::MachO::DataInCode. | |
| virtual void | visit (const MachO::DataCodeEntry &) | 
| Method to visit a LIEF::MachO::DataCodeEntry. | |
| virtual void | visit (const MachO::SourceVersion &) | 
| Method to visit a LIEF::MachO::SourceVersion. | |
| virtual void | visit (const MachO::VersionMin &) | 
| Method to visit a LIEF::MachO::VersionMin. | |
| virtual void | visit (const MachO::SegmentSplitInfo &) | 
| Method to visit a LIEF::MachO::SegmentSplitInfo. | |
| virtual void | visit (const MachO::SubFramework &) | 
| Method to visit a LIEF::MachO::SubFramework. | |
| virtual void | visit (const MachO::Routine &) | 
| Method to visit a LIEF::MachO::Routine. | |
| virtual void | visit (const MachO::DyldEnvironment &) | 
| Method to visit a LIEF::MachO::DyldEnvironment. | |
| virtual void | visit (const MachO::EncryptionInfo &) | 
| Method to visit a LIEF::MachO::DyldEnvironment. | |
| virtual void | visit (const MachO::BuildVersion &) | 
| Method to visit a LIEF::MachO:BuildVersion: | |
| virtual void | visit (const MachO::BuildToolVersion &) | 
| Method to visit a LIEF::MachO:BuildToolVersion: | |
| virtual void | visit (const MachO::FilesetCommand &) | 
| Method to visit a LIEF::MachO:BuildToolVersion: | |
| virtual void | visit (const MachO::CodeSignatureDir &) | 
| Method to visit a LIEF::MachO::CodeSignatureDir. | |
| virtual void | visit (const MachO::TwoLevelHints &) | 
| Method to visit a LIEF::MachO::TwoLevelHints. | |
| virtual void | visit (const MachO::LinkerOptHint &) | 
| Method to visit a LIEF::MachO::LinkerOptHint. | |
| virtual void | visit (const MachO::UnknownCommand &) | 
| Method to visit a LIEF::MachO::UnknownCommand. | |
| virtual void | visit (const OAT::Binary &) | 
| Method to visit a LIEF::OAT::Binary. | |
| virtual void | visit (const OAT::Header &) | 
| Method to visit a LIEF::OAT::Header. | |
| virtual void | visit (const OAT::DexFile &) | 
| Method to visit a LIEF::OAT::DexFile. | |
| virtual void | visit (const OAT::Class &) | 
| Method to visit a LIEF::OAT::Class. | |
| virtual void | visit (const OAT::Method &) | 
| Method to visit a LIEF::OAT::Method. | |
| virtual void | visit (const DEX::File &) | 
| Method to visit a LIEF::DEX::File. | |
| virtual void | visit (const DEX::Field &) | 
| Method to visit a LIEF::DEX::Field. | |
| virtual void | visit (const DEX::Method &) | 
| Method to visit a LIEF::DEX::Method. | |
| virtual void | visit (const DEX::Header &) | 
| Method to visit a LIEF::DEX::Header. | |
| virtual void | visit (const DEX::Class &) | 
| Method to visit a LIEF::DEX::Class. | |
| virtual void | visit (const DEX::CodeInfo &) | 
| Method to visit a LIEF::DEX::CodeInfo. | |
| virtual void | visit (const DEX::Type &) | 
| Method to visit a LIEF::DEX::Type. | |
| virtual void | visit (const DEX::Prototype &) | 
| Method to visit a LIEF::DEX:Prototype: | |
| virtual void | visit (const DEX::MapList &) | 
| Method to visit a LIEF::DEX:MapList: | |
| virtual void | visit (const DEX::MapItem &) | 
| Method to visit a LIEF::DEX:MapItem: | |
| virtual void | visit (const VDEX::File &) | 
| Method to visit a LIEF::VDEX::File. | |
| virtual void | visit (const VDEX::Header &) | 
| Method to visit a LIEF::VDEX::Header. | |
| virtual void | visit (const ART::File &) | 
| Method to visit a LIEF::ART::File. | |
| virtual void | visit (const ART::Header &) | 
| Method to visit a LIEF::ART::Header. | |
| Public Member Functions inherited from LIEF::Visitor | |
| Visitor () | |
| virtual | ~Visitor () | 
| virtual void | operator() () | 
| template<typename Arg1, typename... Args> | |
| void | operator() (Arg1 &&arg1, Args &&... args) | 
| template<class T> | |
| void | dispatch (const T &obj) | 
| Static Public Member Functions | |
| static LIEF::Hash::value_type | hash (const Object &obj) | 
| Static Public Member Functions inherited from LIEF::Hash | |
| template<class H = Hash> | |
| static value_type | hash (const Object &obj) | 
| static value_type | hash (const std::vector< uint8_t > &raw) | 
| static value_type | hash (span< const uint8_t > raw) | 
| static value_type | hash (const void *raw, size_t size) | 
| template<typename U = value_type> | |
| static value_type | combine (value_type lhs, U rhs) | 
| Additional Inherited Members | |
| Public Types inherited from LIEF::Hash | |
| using | value_type = size_t | 
| 
 | override | 
| LIEF::Hash::Hash | ( | ) | 
| LIEF::Hash::Hash | ( | value_type | init_value | ) | 
| 
 | static | 
References LIEF::Hash::Hash(), and LIEF::Hash::visit().
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.
| 
 | overridevirtual | 
Reimplemented from LIEF::Visitor.