16#ifndef LIEF_MACHO_HASH_H
17#define LIEF_MACHO_HASH_H
27class BuildToolVersion;
29class ChainedBindingInfo;
31class CodeSignatureDir;
39class DynamicSymbolCommand;
52class RelocationObject;
55class SegmentSplitInfo;
size_t value_type
Definition hash.hpp:33
virtual void visit(const Object &)
Class which represents a MachO binary.
Definition MachO/Binary.hpp:77
Class that provides an interface over a binding operation.
Definition BindingInfo.hpp:38
Definition BuildVersion.hpp:34
This class represents a symbol binding operation associated with the LC_DYLD_CHAINED_FIXUPS command.
Definition ChainedBindingInfo.hpp:46
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:39
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:68
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 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:36
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:49
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 a Mach-O section.
Definition MachO/Section.hpp:44
Class which represents a LoadCommand::TYPE::SEGMENT / LoadCommand::TYPE::SEGMENT_64 command.
Definition SegmentCommand.hpp:48
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
LIEF namespace.
Definition Abstract/Binary.hpp:32
#define LIEF_API
Definition visibility.h:41