LIEF: Library to Instrument Executable Formats Version 0.16.0
|
Structure that mirrors the raw dyld_chained_starts_in_segment which aims at providing information about the chained rebase/bind fixups. More...
#include <DyldChainedFixups.hpp>
Public Member Functions | |
size_t | page_count () const |
How many pages are in the page_start array. | |
Public Attributes | |
uint32_t | offset = 0 |
Original offset of the structure, relative to DyldChainedFixups::starts_offset. | |
uint32_t | size = 0 |
sizeof(size) + sizeof(page_size) + ... + sizeof(pointer_format) | |
uint16_t | page_size = 0 |
Likely 0x1000 for x86/x86_64 architectures and 0x4000 for ARM64 architecture. | |
uint64_t | segment_offset = 0 |
Offset of the segment's data from the beginning of the file (it should match SegmentCommand::file_offset) | |
uint32_t | max_valid_pointer = 0 |
for 32-bit OS, any value beyond this is not a pointer | |
DYLD_CHAINED_PTR_FORMAT | pointer_format = DYLD_CHAINED_PTR_FORMAT::NONE |
How pointers are encoded. | |
std::vector< uint16_t > | page_start |
Offset in the SegmentCommand of the first element of the chain. | |
std::vector< uint16_t > | chain_starts |
Currently not supported. | |
SegmentCommand & | segment |
Segment in which the rebase/bind fixups take place. | |
Structure that mirrors the raw dyld_chained_starts_in_segment which aims at providing information about the chained rebase/bind fixups.
The relocations provided by this structure can be accessed through SegmentCommand::relocations
|
inline |
How many pages are in the page_start array.
std::vector<uint16_t> LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::chain_starts |
Currently not supported.
uint32_t LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::max_valid_pointer = 0 |
for 32-bit OS, any value beyond this is not a pointer
uint32_t LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::offset = 0 |
Original offset of the structure, relative to DyldChainedFixups::starts_offset.
uint16_t LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::page_size = 0 |
Likely 0x1000 for x86/x86_64 architectures and 0x4000 for ARM64 architecture.
std::vector<uint16_t> LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::page_start |
Offset in the SegmentCommand of the first element of the chain.
DYLD_CHAINED_PTR_FORMAT LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::pointer_format = DYLD_CHAINED_PTR_FORMAT::NONE |
How pointers are encoded.
SegmentCommand& LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::segment |
Segment in which the rebase/bind fixups take place.
uint64_t LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::segment_offset = 0 |
Offset of the segment's data from the beginning of the file (it should match SegmentCommand::file_offset)
uint32_t LIEF::MachO::DyldChainedFixups::chained_starts_in_segment::size = 0 |
sizeof(size) + sizeof(page_size) + ... + sizeof(pointer_format)