[−][src]Module pelite::base_relocs
Base Relocations Directory.
The base relocations directory describes a list of addresses to pointer values within its module which need to be patched when the module is located at a different address than its preferred load address. When the module contains pointers to itself these pointers need to be fixed when the module is loaded at a different address than its preferred load address.
For a quick and easy overview of how the base relocations are laid out, see this helpful stackoverflow answer.
Examples
use pelite::pe64::{Pe, PeFile}; fn example(file: PeFile<'_>) -> pelite::Result<()> { // Access the base relocations let base_relocs = file.base_relocs()?; // Iterate over the rva which need relocation // Padding relocations of type absolute are skipped base_relocs.for_each(|rva, ty| {}); // Iterate over the relocation blocks for block in base_relocs.iter_blocks() {} Ok(()) }
Structs
BaseRelocs | Base Relocations Directory. |
Block | Base Relocation Block. |
IterBlocks | Iterator over the base relocation blocks. |
Functions
build | Builds a new base relocation directory with given rvas and types. |