Fix PE virtual directory size issues

This commit is contained in:
Matt Nadareski
2022-11-10 12:57:19 -08:00
parent 9cb3c963a1
commit ec67ca605c

View File

@@ -355,7 +355,9 @@ namespace BurnOutSharp.Builder
// Attempt to derive the physical address from the current section
var section = sections[i];
if (rva >= section.VirtualAddress && rva <= section.VirtualAddress + section.VirtualSize)
if (rva >= section.VirtualAddress
&& (rva <= section.VirtualAddress + section.SizeOfRawData
|| rva <= section.VirtualAddress + section.VirtualSize))
return rva - section.VirtualAddress + section.PointerToRawData;
}