Module pelite::pe32::base_relocs [−][src]
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 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. |