LIEF: Library to Instrument Executable Formats Version 0.16.0
|
Class which implements a visitor to compute a deterministic hash for LIEF DEX objects. More...
#include <hash.hpp>
Public Member Functions | |
void | visit (const File &file) override |
Method to visit a LIEF::DEX::File. | |
void | visit (const Header &header) override |
Method to visit a LIEF::DEX::Header. | |
void | visit (const Class &cls) override |
Method to visit a LIEF::DEX::Class. | |
void | visit (const Field &field) override |
Method to visit a LIEF::DEX::Field. | |
void | visit (const Method &method) override |
Method to visit a LIEF::DEX::Method. | |
void | visit (const CodeInfo &code_info) override |
Method to visit a LIEF::DEX::CodeInfo. | |
void | visit (const Type &type) override |
Method to visit a LIEF::DEX::Type. | |
void | visit (const Prototype &type) override |
Method to visit a LIEF::DEX:Prototype: | |
void | visit (const MapItem &item) override |
Method to visit a LIEF::DEX:MapItem: | |
void | visit (const MapList &list) override |
Method to visit a LIEF::DEX:MapList: | |
~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 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::Symbol &) |
Method to visit a LIEF::PE::Symbol. | |
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::ResourceFixedFileInfo &) |
Method to visit a LIEF::PE::ResourceFixedFileInfo. | |
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::LangCodeItem &) |
Method to visit a LIEF::PE::LangCodeItem. | |
virtual void | visit (const PE::ResourceIcon &) |
Method to visit a LIEF::PE::ResourceIcon. | |
virtual void | visit (const PE::ResourceDialog &) |
Method to visit a LIEF::PE::ResourceDialog. | |
virtual void | visit (const PE::ResourceDialogItem &) |
Method to visit a LIEF::PE::ResourceDialogItem. | |
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::LoadConfigurationV0 &) |
Method to visit a LIEF::PE::LoadConfigurationV0. | |
virtual void | visit (const PE::LoadConfigurationV1 &) |
Method to visit a LIEF::PE::LoadConfigurationV1. | |
virtual void | visit (const PE::LoadConfigurationV2 &) |
Method to visit a LIEF::PE::LoadConfigurationV2. | |
virtual void | visit (const PE::LoadConfigurationV3 &) |
Method to visit a LIEF::PE::LoadConfigurationV3. | |
virtual void | visit (const PE::LoadConfigurationV4 &) |
Method to visit a LIEF::PE::LoadConfigurationV4. | |
virtual void | visit (const PE::LoadConfigurationV5 &) |
Method to visit a LIEF::PE::LoadConfigurationV5. | |
virtual void | visit (const PE::LoadConfigurationV6 &) |
Method to visit a LIEF::PE::LoadConfigurationV6. | |
virtual void | visit (const PE::LoadConfigurationV7 &) |
Method to visit a LIEF::PE::LoadConfigurationV7. | |
virtual void | visit (const PE::LoadConfigurationV8 &) |
Method to visit a LIEF::PE::LoadConfigurationV8. | |
virtual void | visit (const PE::LoadConfigurationV9 &) |
Method to visit a LIEF::PE::LoadConfigurationV9. | |
virtual void | visit (const PE::LoadConfigurationV10 &) |
Method to visit a LIEF::PE::LoadConfigurationV10. | |
virtual void | visit (const PE::LoadConfigurationV11 &) |
Method to visit a LIEF::PE::LoadConfigurationV11. | |
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::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 |
|
overridevirtual |
Method to visit a LIEF::DEX::Class.
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX::CodeInfo.
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX::Field.
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX::File.
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX::Header.
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX:MapItem:
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX:MapList:
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX::Method.
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX:Prototype:
Reimplemented from LIEF::Visitor.
|
overridevirtual |
Method to visit a LIEF::DEX::Type.
Reimplemented from LIEF::Visitor.