Some processes do export useful symbols that can be used to recover memory addresses or other useful values. The newly added symbols() function allows to iterate over them in order to recover, if needed, the addresses of interest.
For example, Duckstation (a PS1 emulator) exports the address of the emulated RAM as a symbol, so it can be easily recovered.
Esample:
let pointer: Option<Symbol> = pe::symbols(&process, main_module).find(|symbol| {
symbol
.get_name::<5>(&process)
.is_ok_and(|name| name.matches(b"RAM"))
});
let address: Address = pointer.unwrap().address;
Some processes do export useful symbols that can be used to recover memory addresses or other useful values. The newly added
symbols()
function allows to iterate over them in order to recover, if needed, the addresses of interest.For example, Duckstation (a PS1 emulator) exports the address of the emulated RAM as a symbol, so it can be easily recovered.
Esample: