From 4e643f70ed2d41cfce48da839e7bd2382ac5fa61 Mon Sep 17 00:00:00 2001 From: hasherezade Date: Thu, 5 Mar 2015 19:08:32 +0100 Subject: [PATCH] [BUGFIX] In Executable::convertAddr: fixed RVA->VA conversion --- parser/Executable.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/parser/Executable.cpp b/parser/Executable.cpp index 5d20a805..d94ad546 100644 --- a/parser/Executable.cpp +++ b/parser/Executable.cpp @@ -55,8 +55,9 @@ offset_t Executable::convertAddr(offset_t inAddr, Executable::addr_type inType, if (inType == Executable::RAW && outType == Executable::RVA) { return this->rawToRva(inAddr); } - if (inType == Executable::RAW && outType == Executable::VA) { - return this->rawToRva(inAddr) + this->getImageBase(); + if (outType == Executable::VA) { + if (inType == Executable::RAW) inAddr = rawToRva(inAddr); + return inAddr + this->getImageBase(); } if (outType == Executable::RAW) { bool allowExceptions = false;