LIEF: Library to Instrument Executable Formats Version 0.15.0
|
This class represents a symbol binding operation associated with the LC_DYLD_INFO bytecode. More...
#include <DyldBindingInfo.hpp>
Public Member Functions | |
DyldBindingInfo (BINDING_CLASS cls, BIND_TYPES type, uint64_t address, int64_t addend=0, int32_t oridnal=0, bool is_weak=false, bool is_non_weak_definition=false, uint64_t offset=0) | |
DyldBindingInfo & | operator= (DyldBindingInfo other) |
DyldBindingInfo (const DyldBindingInfo &other) | |
DyldBindingInfo (DyldBindingInfo &&) | |
void | swap (DyldBindingInfo &other) |
BINDING_CLASS | binding_class () const |
Class of the binding (weak, lazy, ...) | |
void | binding_class (BINDING_CLASS bind_class) |
BIND_TYPES | binding_type () const |
Type of the binding. Most of the times it's BIND_TYPES::BIND_TYPE_POINTER. | |
void | binding_type (BIND_TYPES type) |
bool | is_non_weak_definition () const |
void | set_non_weak_definition (bool val) |
uint64_t | original_offset () const |
Original relative offset of the binding opcodes. | |
BindingInfo::TYPES | type () const override |
The type of the binding. This type provides the origin of the binding (LC_DYLD_INFO or LC_DYLD_CHAINED_FIXUPS) | |
void | accept (Visitor &visitor) const override |
Public Member Functions inherited from LIEF::MachO::BindingInfo | |
BindingInfo (const BindingInfo &other) | |
void | swap (BindingInfo &other) |
bool | has_segment () const |
Check if a MachO::SegmentCommand is associated with this binding. | |
const SegmentCommand * | segment () const |
The MachO::SegmentCommand associated with the BindingInfo or a nullptr of it is not bind to a SegmentCommand. | |
SegmentCommand * | segment () |
bool | has_library () const |
Check if a MachO::DylibCommand is tied with the BindingInfo. | |
const DylibCommand * | library () const |
MachO::DylibCommand associated with the BindingInfo or a nullptr if not present. | |
DylibCommand * | library () |
bool | has_symbol () const |
Check if a MachO::Symbol is associated with the BindingInfo. | |
const Symbol * | symbol () const |
MachO::Symbol associated with the BindingInfo or a nullptr if not present. | |
Symbol * | symbol () |
virtual uint64_t | address () const |
Address of the binding. | |
virtual void | address (uint64_t addr) |
int32_t | library_ordinal () const |
void | library_ordinal (int32_t ordinal) |
int64_t | addend () const |
Value added to the segment's virtual address when bound. | |
void | addend (int64_t addend) |
bool | is_weak_import () const |
void | set_weak_import (bool val=true) |
Public Member Functions inherited from LIEF::Object | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
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 |
Static Public Member Functions | |
static bool | classof (const BindingInfo *info) |
Additional Inherited Members | |
Public Types inherited from LIEF::MachO::BindingInfo | |
enum class | TYPES { UNKNOWN = 0 , DYLD_INFO , CHAINED , CHAINED_LIST } |
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>>> |
This class represents a symbol binding operation associated with the LC_DYLD_INFO bytecode.
It does not represent a structure that exists in the Mach-O format specifications but it provides a view on an entry of the Dyld binding opcodes.
|
overridevirtual |
Reimplemented from LIEF::MachO::BindingInfo.
|
inlineoverridevirtual |
The type of the binding. This type provides the origin of the binding (LC_DYLD_INFO or LC_DYLD_CHAINED_FIXUPS)
Implements LIEF::MachO::BindingInfo.