LIEF: Library to Instrument Executable Formats Version 0.17.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. |
Static Public Member Functions | |
static chained_starts_in_segment | create_empty_chained (SegmentCommand &segment) |
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
|
inlinestatic |
References segment.
|
inline |
How many pages are in the page_start array.
References page_start.
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.
Referenced by DyldChainedFixupsCreator.
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.
Referenced by page_count().
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.
Referenced by create_empty_chained(), and DyldChainedFixupsCreator.
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)