Having stumbled upon this question (and answer): https://stackoverflow.com/questions/2170843/va-virtual-adress-rva-relative-virtual-address on my quest for understanding Windows' PE format, I'm wondering: why is the default imagebase value 0x400000? Why couldn't we just start at 0? A VA would then be, in all practical purposes, equal to an RVA.
I'm clearly missing something, but I've been unable to find a reasonable explanation of this for the last 40 minutes.
open up an exe in ollydbg, then look at the memory view, you'll see whats down there, typically its some system stuff, at least one nls file on my system and the start of the stack of the main thread
and higher than 0x80000000 (on 32 bit anyway) is for mem mapped files, drivers and such
– evlncrn8 Sep 15 '14 at 18:44