From 6c1f7bd46908a9d6b3671975916e49b45fb5a558 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Tue, 24 May 2022 04:17:28 +0200 Subject: [PATCH] [yabridgectl] Don't resolve rvas when parsing --- tools/yabridgectl/src/symbols.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/yabridgectl/src/symbols.rs b/tools/yabridgectl/src/symbols.rs index d11c459d..abf92a3e 100644 --- a/tools/yabridgectl/src/symbols.rs +++ b/tools/yabridgectl/src/symbols.rs @@ -46,7 +46,12 @@ fn parse_pe32_goblin>(binary: P) -> Result { // The original version of this function also supports ELF and Mach architectures, but we don't // need those things here let bytes = util::read(&binary)?; - let obj = goblin::pe::PE::parse(&bytes).with_context(|| { + let obj = goblin::pe::PE::parse_with_opts( + &bytes, + // We only care about the exports + &goblin::pe::options::ParseOptions { resolve_rva: false }, + ) + .with_context(|| { format!( "Could not parse '{}' as a PE32(+) binary", binary.as_ref().display()