LIEF: Library to Instrument Executable Formats Version 0.15.1
|
Class which implements a visitor to compute a deterministic hash for LIEF MachO objects. More...
#include <hash.hpp>
Public Member Functions | |
void | visit (const Binary &binary) override |
Method to visit a LIEF::MachO::Binary. | |
void | visit (const BindingInfo &binding) override |
Method to visit a LIEF::MachO::BindingInfo. | |
void | visit (const BuildToolVersion &e) override |
Method to visit a LIEF::MachO:BuildToolVersion: | |
void | visit (const BuildVersion &e) override |
Method to visit a LIEF::MachO:BuildVersion: | |
void | visit (const ChainedBindingInfo &binding) override |
Method to visit a LIEF::MachO::ChainedBindingInfo. | |
void | visit (const CodeSignature &cs) override |
Method to visit a LIEF::MachO::CodeSignature. | |
void | visit (const CodeSignatureDir &e) override |
Method to visit a LIEF::MachO::CodeSignatureDir. | |
void | visit (const DataCodeEntry &dce) override |
Method to visit a LIEF::MachO::DataCodeEntry. | |
void | visit (const DataInCode &dic) override |
Method to visit a LIEF::MachO::DataInCode. | |
void | visit (const DyldBindingInfo &binding) override |
Method to visit a LIEF::MachO::DyldBindingInfo. | |
void | visit (const DyldEnvironment &sf) override |
Method to visit a LIEF::MachO::DyldEnvironment. | |
void | visit (const DyldExportsTrie &trie) override |
Method to visit a LIEF::MachO::DyldExportsTrie. | |
void | visit (const DylibCommand &dylib) override |
Method to visit a LIEF::MachO::DylibCommand. | |
void | visit (const DylinkerCommand &dylinker) override |
Method to visit a LIEF::MachO::DylinkerCommand. | |
void | visit (const DynamicSymbolCommand &dynamic_symbol) override |
Method to visit a LIEF::MachO::DynamicSymbolCommand. | |
void | visit (const EncryptionInfo &e) override |
Method to visit a LIEF::MachO::DyldEnvironment. | |
void | visit (const ExportInfo &einfo) override |
Method to visit a LIEF::MachO::ExportInfo. | |
void | visit (const FilesetCommand &e) override |
Method to visit a LIEF::MachO:BuildToolVersion: | |
void | visit (const FunctionStarts &fs) override |
Method to visit a LIEF::MachO::FunctionStarts. | |
void | visit (const Header &header) override |
Method to visit a LIEF::MachO::Header. | |
void | visit (const LinkerOptHint &e) override |
Method to visit a LIEF::MachO::LinkerOptHint. | |
void | visit (const LoadCommand &cmd) override |
Method to visit a LIEF::MachO::LoadCommand. | |
void | visit (const MainCommand &maincmd) override |
Method to visit a LIEF::MachO::MainCommand. | |
void | visit (const RPathCommand &rpath) override |
Method to visit a LIEF::MachO::RPathCommand. | |
void | visit (const Relocation &relocation) override |
Method to visit a LIEF::MachO::Relocation. | |
void | visit (const RelocationDyld &rdyld) override |
Method to visit a LIEF::MachO::RelocationDyld. | |
void | visit (const RelocationFixup &fixup) override |
Method to visit a LIEF::MachO::RelocationFixup. | |
void | visit (const RelocationObject &robject) override |
Method to visit a LIEF::MachO::RelocationObject. | |
void | visit (const Section §ion) override |
Method to visit a LIEF::MachO::Section. | |
void | visit (const SegmentCommand &segment) override |
Method to visit a LIEF::MachO::SegmentCommand. | |
void | visit (const SegmentSplitInfo &ssi) override |
Method to visit a LIEF::MachO::SegmentSplitInfo. | |
void | visit (const SourceVersion &sv) override |
Method to visit a LIEF::MachO::SourceVersion. | |
void | visit (const SubFramework &sf) override |
Method to visit a LIEF::MachO::SubFramework. | |
void | visit (const Symbol &symbol) override |
Method to visit a LIEF::MachO::Symbol. | |
void | visit (const SymbolCommand &symbol) override |
Method to visit a LIEF::MachO::SymbolCommand. | |
void | visit (const ThreadCommand &threadcmd) override |
Method to visit a LIEF::MachO::ThreadCommand. | |
void | visit (const TwoLevelHints &e) override |
Method to visit a LIEF::MachO::TwoLevelHints. | |
void | visit (const UUIDCommand &uuid) override |
Method to visit a LIEF::MachO::UUIDCommand. | |
void | visit (const VersionMin &vmin) override |
Method to visit a LIEF::MachO::VersionMin. | |
void | visit (const UnknownCommand &ukn) override |
Method to visit a LIEF::MachO::UnknownCommand. | |
~Hash () override | |
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 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 |
|
static |
|
overridevirtual |
Method to visit a LIEF::MachO::Binary.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::BindingInfo.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO:BuildToolVersion:
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO:BuildVersion:
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::ChainedBindingInfo.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::CodeSignature.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::CodeSignatureDir.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DataCodeEntry.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DataInCode.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DyldBindingInfo.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DyldEnvironment.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DyldExportsTrie.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DylibCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DylinkerCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DynamicSymbolCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::DyldEnvironment.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::ExportInfo.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO:BuildToolVersion:
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::FunctionStarts.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::Header.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::LinkerOptHint.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::LoadCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::MainCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::Relocation.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::RelocationDyld.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::RelocationFixup.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::RelocationObject.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::RPathCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::Section.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::SegmentCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::SegmentSplitInfo.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::SourceVersion.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::SubFramework.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::Symbol.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::SymbolCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::ThreadCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::TwoLevelHints.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::UnknownCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::UUIDCommand.
Reimplemented from LIEF::Hash.
|
overridevirtual |
Method to visit a LIEF::MachO::VersionMin.
Reimplemented from LIEF::Hash.