Go to the documentation of this file.
16#ifndef LIEF_MACHO_HASH_H
17#define LIEF_MACHO_HASH_H
78 void visit(
const Binary& binary)
override;
79 void visit(
const BindingInfo& binding)
override;
80 void visit(
const BuildToolVersion& e)
override;
81 void visit(
const BuildVersion& e)
override;
82 void visit(
const ChainedBindingInfo& binding)
override;
83 void visit(
const CodeSignature& cs)
override;
84 void visit(
const CodeSignatureDir& e)
override;
85 void visit(
const DataCodeEntry& dce)
override;
86 void visit(
const DataInCode& dic)
override;
87 void visit(
const DyldBindingInfo& binding)
override;
88 void visit(
const DyldEnvironment& sf)
override;
89 void visit(
const DyldExportsTrie& trie)
override;
90 void visit(
const DylibCommand& dylib)
override;
91 void visit(
const DylinkerCommand& dylinker)
override;
92 void visit(
const DynamicSymbolCommand& dynamic_symbol)
override;
93 void visit(
const EncryptionInfo& e)
override;
94 void visit(
const ExportInfo& einfo)
override;
95 void visit(
const FilesetCommand& e)
override;
96 void visit(
const FunctionStarts& fs)
override;
97 void visit(
const Header& header)
override;
98 void visit(
const LinkerOptHint& e)
override;
99 void visit(
const LoadCommand& cmd)
override;
100 void visit(
const MainCommand& maincmd)
override;
101 void visit(
const Routine& rpath)
override;
102 void visit(
const RPathCommand& rpath)
override;
103 void visit(
const Relocation& relocation)
override;
104 void visit(
const RelocationDyld& rdyld)
override;
105 void visit(
const RelocationFixup& fixup)
override;
106 void visit(
const RelocationObject& robject)
override;
107 void visit(
const Section& section)
override;
108 void visit(
const SegmentCommand& segment)
override;
109 void visit(
const SegmentSplitInfo& ssi)
override;
110 void visit(
const SourceVersion& sv)
override;
111 void visit(
const SubFramework& sf)
override;
112 void visit(
const Symbol& symbol)
override;
113 void visit(
const SymbolCommand& symbol)
override;
114 void visit(
const ThreadCommand& threadcmd)
override;
115 void visit(
const TwoLevelHints& e)
override;
116 void visit(
const UUIDCommand& uuid)
override;
117 void visit(
const VersionMin& vmin)
override;
118 void visit(
const UnknownCommand& ukn)
override;
size_t value_type
Definition hash.hpp:33
virtual void visit(const Object &)
Class which represents a MachO binary.
Definition MachO/Binary.hpp:86
Class that provides an interface over a binding operation.
Definition BindingInfo.hpp:39
Definition BuildVersion.hpp:34
This class represents a symbol binding operation associated with the LC_DYLD_CHAINED_FIXUPS command.
Definition ChainedBindingInfo.hpp:48
Definition CodeSignatureDir.hpp:36
Definition CodeSignature.hpp:37
Interface over an entry in the DataInCode command.
Definition DataCodeEntry.hpp:33
Interface of the LC_DATA_IN_CODE command This command is used to list slices of code sections that co...
Definition DataInCode.hpp:42
This class represents a symbol binding operation associated with the LC_DYLD_INFO bytecode.
Definition DyldBindingInfo.hpp:34
Class that represents a LC_DYLD_ENVIRONMENT command which is used by the Mach-O linker/loader to init...
Definition DyldEnvironment.hpp:34
Class that represents the LC_DYLD_EXPORTS_TRIE command.
Definition DyldExportsTrie.hpp:40
Class which represents a library dependency.
Definition DylibCommand.hpp:34
Class that represents the Mach-O linker, also named loader. Most of the time, DylinkerCommand::name()...
Definition DylinkerCommand.hpp:34
Class that represents the LC_DYSYMTAB command.
Definition DynamicSymbolCommand.hpp:40
Class that represents the LC_ENCRYPTION_INFO / LC_ENCRYPTION_INFO_64 commands.
Definition EncryptionInfo.hpp:35
Class that provides an interface over the Dyld export info.
Definition ExportInfo.hpp:38
Class associated with the LC_FILESET_ENTRY commands.
Definition FilesetCommand.hpp:35
Class which represents the LC_FUNCTION_STARTS command.
Definition FunctionStarts.hpp:39
Class which implements a visitor to compute a deterministic hash for LIEF MachO objects.
Definition MachO/hash.hpp:69
void visit(const DylibCommand &dylib) override
Method to visit a LIEF::MachO::DylibCommand.
void visit(const RelocationObject &robject) override
Method to visit a LIEF::MachO::RelocationObject.
void visit(const RPathCommand &rpath) override
Method to visit a LIEF::MachO::RPathCommand.
void visit(const MainCommand &maincmd) override
Method to visit a LIEF::MachO::MainCommand.
void visit(const DyldEnvironment &sf) override
Method to visit a LIEF::MachO::DyldEnvironment.
void visit(const UUIDCommand &uuid) override
Method to visit a LIEF::MachO::UUIDCommand.
void visit(const EncryptionInfo &e) override
Method to visit a LIEF::MachO::DyldEnvironment.
void visit(const RelocationDyld &rdyld) override
Method to visit a LIEF::MachO::RelocationDyld.
void visit(const DataCodeEntry &dce) override
Method to visit a LIEF::MachO::DataCodeEntry.
void visit(const CodeSignatureDir &e) override
Method to visit a LIEF::MachO::CodeSignatureDir.
void visit(const BuildVersion &e) override
Method to visit a LIEF::MachO:BuildVersion:
void visit(const BindingInfo &binding) override
Method to visit a LIEF::MachO::BindingInfo.
void visit(const SymbolCommand &symbol) override
Method to visit a LIEF::MachO::SymbolCommand.
void visit(const DyldExportsTrie &trie) override
Method to visit a LIEF::MachO::DyldExportsTrie.
void visit(const ThreadCommand &threadcmd) override
Method to visit a LIEF::MachO::ThreadCommand.
static LIEF::Hash::value_type hash(const Object &obj)
void visit(const Binary &binary) override
Method to visit a LIEF::MachO::Binary.
void visit(const FunctionStarts &fs) override
Method to visit a LIEF::MachO::FunctionStarts.
void visit(const Routine &rpath) override
Method to visit a LIEF::MachO::Routine.
void visit(const SubFramework &sf) override
Method to visit a LIEF::MachO::SubFramework.
void visit(const VersionMin &vmin) override
Method to visit a LIEF::MachO::VersionMin.
void visit(const DyldBindingInfo &binding) override
Method to visit a LIEF::MachO::DyldBindingInfo.
void visit(const Relocation &relocation) override
Method to visit a LIEF::MachO::Relocation.
void visit(const DataInCode &dic) override
Method to visit a LIEF::MachO::DataInCode.
void visit(const Header &header) override
Method to visit a LIEF::MachO::Header.
void visit(const Section §ion) override
Method to visit a LIEF::MachO::Section.
void visit(const CodeSignature &cs) override
Method to visit a LIEF::MachO::CodeSignature.
void visit(const ExportInfo &einfo) override
Method to visit a LIEF::MachO::ExportInfo.
void visit(const DylinkerCommand &dylinker) override
Method to visit a LIEF::MachO::DylinkerCommand.
void visit(const RelocationFixup &fixup) override
Method to visit a LIEF::MachO::RelocationFixup.
void visit(const BuildToolVersion &e) override
Method to visit a LIEF::MachO:BuildToolVersion:
void visit(const SourceVersion &sv) override
Method to visit a LIEF::MachO::SourceVersion.
void visit(const UnknownCommand &ukn) override
Method to visit a LIEF::MachO::UnknownCommand.
void visit(const ChainedBindingInfo &binding) override
Method to visit a LIEF::MachO::ChainedBindingInfo.
void visit(const LoadCommand &cmd) override
Method to visit a LIEF::MachO::LoadCommand.
void visit(const Symbol &symbol) override
Method to visit a LIEF::MachO::Symbol.
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 LinkerOptHint &e) override
Method to visit a LIEF::MachO::LinkerOptHint.
void visit(const FilesetCommand &e) override
Method to visit a LIEF::MachO:BuildToolVersion:
void visit(const TwoLevelHints &e) override
Method to visit a LIEF::MachO::TwoLevelHints.
void visit(const DynamicSymbolCommand &dynamic_symbol) override
Method to visit a LIEF::MachO::DynamicSymbolCommand.
Class which represents the LC_LINKER_OPTIMIZATION_HINT command.
Definition LinkerOptHint.hpp:37
Based class for the Mach-O load commands.
Definition LoadCommand.hpp:37
Class that represent the LC_MAIN command. This kind of command can be used to determine the entrypoin...
Definition MainCommand.hpp:33
Class that represents the LC_RPATH command.
Definition RPathCommand.hpp:36
Class that represents a relocation found in the DyldInfo structure.
Definition RelocationDyld.hpp:33
Class that represents a rebase relocation found in the LC_DYLD_CHAINED_FIXUPS command.
Definition RelocationFixup.hpp:50
Class that represents a relocation presents in the MachO object file (.o). Usually,...
Definition RelocationObject.hpp:38
Class that represents a Mach-O relocation.
Definition MachO/Relocation.hpp:40
Class that represents the LC_ROUTINE/LC_ROUTINE64 commands. Accodring to the Mach-O loader....
Definition Routine.hpp:38
Class that represents a Mach-O section.
Definition MachO/Section.hpp:46
Class which represents a LoadCommand::TYPE::SEGMENT / LoadCommand::TYPE::SEGMENT_64 command.
Definition SegmentCommand.hpp:50
Class that represents the LoadCommand::TYPE::SEGMENT_SPLIT_INFO command.
Definition SegmentSplitInfo.hpp:35
Class that represents the MachO LoadCommand::TYPE::SOURCE_VERSION This command is used to provide the...
Definition SourceVersion.hpp:35
Class that represents the SubFramework command. Accodring to the Mach-O loader.h documentation:
Definition SubFramework.hpp:46
Class that represents the LC_SYMTAB command.
Definition SymbolCommand.hpp:35
Class that represents a Symbol in a Mach-O file.
Definition MachO/Symbol.hpp:47
Class that represents the LC_THREAD / LC_UNIXTHREAD commands and that can be used to get the binary e...
Definition ThreadCommand.hpp:41
Class which represents the LC_TWOLEVEL_HINTS command.
Definition TwoLevelHints.hpp:39
Class that represents the UUID command.
Definition UUIDCommand.hpp:35
Generic class when the command is not recognized by LIEF.
Definition UnknownCommand.hpp:32
Class that wraps the LC_VERSION_MIN_MACOSX, LC_VERSION_MIN_IPHONEOS, ... commands.
Definition VersionMin.hpp:33
Namespace related to the LIEF's Mach-O module.
Definition Abstract/Header.hpp:36
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41