Search code examples
portable-executableuefi

Default ImageBase for UEFI images


For Windows, default ImageBase values are defined as follows (from here):

The default base address for an .exe file is 0x400000 for 32-bit images or 0x140000000 for 64-bit images. For a DLL, the default base address is 0x10000000 for 32-bit images or 0x180000000 for 64-bit images.

But what about UEFI applications and drivers? Do they share the same values or any other? Or it doesn't matter and any value will do since UEFI images are relocateable?


Solution

  • As you guessed, it doesn't matter, since UEFI images are relocatable. Which is sort of a must since UEFI does not provide address-translation - all drivers and applications share the same virtual address space.