LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::MachO::FilesetCommand Class Reference

Class associated with the LC_FILESET_ENTRY commands. More...

#include <FilesetCommand.hpp>

Inheritance diagram for LIEF::MachO::FilesetCommand:
Collaboration diagram for LIEF::MachO::FilesetCommand:

Public Types

using content_t = std::vector<uint8_t>
Public Types inherited from LIEF::MachO::LoadCommand
enum class  TYPE : uint64_t {
  UNKNOWN = 0 , SEGMENT = 0x00000001u , SYMTAB = 0x00000002u , SYMSEG = 0x00000003u ,
  THREAD = 0x00000004u , UNIXTHREAD = 0x00000005u , LOADFVMLIB = 0x00000006u , IDFVMLIB = 0x00000007u ,
  IDENT = 0x00000008u , FVMFILE = 0x00000009u , PREPAGE = 0x0000000Au , DYSYMTAB = 0x0000000Bu ,
  LOAD_DYLIB = 0x0000000Cu , ID_DYLIB = 0x0000000Du , LOAD_DYLINKER = 0x0000000Eu , ID_DYLINKER = 0x0000000Fu ,
  PREBOUND_DYLIB = 0x00000010u , ROUTINES = 0x00000011u , SUB_FRAMEWORK = 0x00000012u , SUB_UMBRELLA = 0x00000013u ,
  SUB_CLIENT = 0x00000014u , SUB_LIBRARY = 0x00000015u , TWOLEVEL_HINTS = 0x00000016u , PREBIND_CKSUM = 0x00000017u ,
  LOAD_WEAK_DYLIB = 0x80000018u , SEGMENT_64 = 0x00000019u , ROUTINES_64 = 0x0000001Au , UUID = 0x0000001Bu ,
  RPATH = 0x8000001Cu , CODE_SIGNATURE = 0x0000001Du , SEGMENT_SPLIT_INFO = 0x0000001Eu , REEXPORT_DYLIB = 0x8000001Fu ,
  LAZY_LOAD_DYLIB = 0x00000020u , ENCRYPTION_INFO = 0x00000021u , DYLD_INFO = 0x00000022u , DYLD_INFO_ONLY = 0x80000022u ,
  LOAD_UPWARD_DYLIB = 0x80000023u , VERSION_MIN_MACOSX = 0x00000024u , VERSION_MIN_IPHONEOS = 0x00000025u , FUNCTION_STARTS = 0x00000026u ,
  DYLD_ENVIRONMENT = 0x00000027u , MAIN = 0x80000028u , DATA_IN_CODE = 0x00000029u , SOURCE_VERSION = 0x0000002Au ,
  DYLIB_CODE_SIGN_DRS = 0x0000002Bu , ENCRYPTION_INFO_64 = 0x0000002Cu , LINKER_OPTION = 0x0000002Du , LINKER_OPTIMIZATION_HINT = 0x0000002Eu ,
  VERSION_MIN_TVOS = 0x0000002Fu , VERSION_MIN_WATCHOS = 0x00000030u , NOTE = 0x00000031u , BUILD_VERSION = 0x00000032u ,
  DYLD_EXPORTS_TRIE = 0x80000033u , DYLD_CHAINED_FIXUPS = 0x80000034u , FILESET_ENTRY = 0x80000035u , ATOM_INFO = 0x00000036u ,
  FUNCTION_VARIANTS = 0x00000037u , FUNCTION_VARIANT_FIXUPS = 0x00000038u , TARGET_TRIPLE = 0x00000039u , LIEF_UNKNOWN = 0xffee0001u
}
using raw_t = std::vector<uint8_t>
Public Types inherited from LIEF::Object
template<class T>
using output_t = add_pointer_t<decay_t<T>>
template<class T>
using output_const_t = add_pointer_t<add_const_t<decay_t<T>>>

Public Member Functions

 FilesetCommand ()=default
 FilesetCommand (const details::fileset_entry_command &command)
 FilesetCommand (std::string name)
FilesetCommandoperator= (FilesetCommand copy)
 FilesetCommand (const FilesetCommand &copy)
void swap (FilesetCommand &other) noexcept
std::unique_ptr< LoadCommandclone () const override
 ~FilesetCommand () override=default
const std::string & name () const
 Name of the underlying MachO binary (e.g. com.apple.security.quarantine).
uint64_t virtual_address () const
 Memory address where the MachO file should be mapped.
uint64_t file_offset () const
 Original offset in the kernel cache.
const Binarybinary () const
 Return a pointer on the LIEF::MachO::Binary associated with this entry.
Binarybinary ()
void name (std::string name)
void virtual_address (uint64_t virtual_address)
void file_offset (uint64_t file_offset)
std::ostream & print (std::ostream &os) const override
Public Member Functions inherited from LIEF::MachO::LoadCommand
 LoadCommand ()=default
 LoadCommand (const details::load_command &command)
 LoadCommand (LoadCommand::TYPE type, uint32_t size)
LoadCommandoperator= (const LoadCommand &copy)=default
 LoadCommand (const LoadCommand &copy)=default
void swap (LoadCommand &other) noexcept
 ~LoadCommand () override=default
LoadCommand::TYPE command () const
 Command type.
uint32_t size () const
 Size of the command (should be greather than sizeof(load_command)).
span< const uint8_t > data () const
 Raw command.
uint64_t command_offset () const
 Offset of the command within the Load Command Table.
void data (raw_t data)
void command (LoadCommand::TYPE command)
void size (uint32_t size)
void command_offset (uint64_t offset)
void accept (Visitor &visitor) const override
template<class T>
const T * cast () const
template<class T>
T * cast ()
Public Member Functions inherited from LIEF::Object
 Object ()
 Object (const Object &other)
Objectoperator= (const Object &other)
 Object (Object &&other) noexcept=default
Objectoperator= (Object &&other) noexcept=default
template<class T>
output_t< T > as ()
template<class T>
output_const_t< T > as () const
virtual bool operator== (const Object &other) const
virtual bool operator!= (const Object &other) const
virtual ~Object ()

Static Public Member Functions

static bool classof (const LoadCommand *cmd)
Static Public Member Functions inherited from LIEF::MachO::LoadCommand
static bool is_linkedit_data (const LoadCommand &cmd)

Detailed Description

Class associated with the LC_FILESET_ENTRY commands.

Member Typedef Documentation

◆ content_t

using LIEF::MachO::FilesetCommand::content_t = std::vector<uint8_t>

Constructor & Destructor Documentation

◆ FilesetCommand() [1/4]

LIEF::MachO::FilesetCommand::FilesetCommand ( )
default

Referenced by clone(), FilesetCommand(), operator=(), and swap().

◆ FilesetCommand() [2/4]

LIEF::MachO::FilesetCommand::FilesetCommand ( const details::fileset_entry_command & command)

◆ FilesetCommand() [3/4]

LIEF::MachO::FilesetCommand::FilesetCommand ( std::string name)
inline

References name().

◆ FilesetCommand() [4/4]

LIEF::MachO::FilesetCommand::FilesetCommand ( const FilesetCommand & copy)

References FilesetCommand().

◆ ~FilesetCommand()

LIEF::MachO::FilesetCommand::~FilesetCommand ( )
overridedefault

Member Function Documentation

◆ binary() [1/2]

Binary * LIEF::MachO::FilesetCommand::binary ( )
inline

◆ binary() [2/2]

const Binary * LIEF::MachO::FilesetCommand::binary ( ) const
inline

Return a pointer on the LIEF::MachO::Binary associated with this entry.

References LIEF::MachO::LoadCommand::Binary.

◆ classof()

bool LIEF::MachO::FilesetCommand::classof ( const LoadCommand * cmd)
inlinestatic

◆ clone()

std::unique_ptr< LoadCommand > LIEF::MachO::FilesetCommand::clone ( ) const
inlineoverridevirtual

Reimplemented from LIEF::MachO::LoadCommand.

References FilesetCommand().

◆ file_offset() [1/2]

uint64_t LIEF::MachO::FilesetCommand::file_offset ( ) const
inline

Original offset in the kernel cache.

Referenced by file_offset().

◆ file_offset() [2/2]

void LIEF::MachO::FilesetCommand::file_offset ( uint64_t file_offset)
inline

References file_offset().

◆ name() [1/2]

const std::string & LIEF::MachO::FilesetCommand::name ( ) const
inline

Name of the underlying MachO binary (e.g. com.apple.security.quarantine).

Referenced by FilesetCommand(), and name().

◆ name() [2/2]

void LIEF::MachO::FilesetCommand::name ( std::string name)
inline

References name().

◆ operator=()

FilesetCommand & LIEF::MachO::FilesetCommand::operator= ( FilesetCommand copy)

References FilesetCommand().

◆ print()

std::ostream & LIEF::MachO::FilesetCommand::print ( std::ostream & os) const
overridevirtual

Reimplemented from LIEF::MachO::LoadCommand.

◆ swap()

void LIEF::MachO::FilesetCommand::swap ( FilesetCommand & other)
noexcept

References FilesetCommand().

◆ virtual_address() [1/2]

uint64_t LIEF::MachO::FilesetCommand::virtual_address ( ) const
inline

Memory address where the MachO file should be mapped.

Referenced by virtual_address().

◆ virtual_address() [2/2]

void LIEF::MachO::FilesetCommand::virtual_address ( uint64_t virtual_address)
inline

References virtual_address().


The documentation for this class was generated from the following file: