views:

25

answers:

1

Since VS2008(Is it right?), MSVC linker option has a Base Address Randomization.

What the main purpose of this feature?

What I only glad to is, I don't need to rebase my Dlls manually anymore.

Is that all? Was it their purpose?
Is there any other benefit else.

+2  A: 

I believe you'll find that the idea is to change the entry points making it harder to exploit them - ie now an attacker not only needs to be able get executable code into memory but also work out which addresses it should be pointing at.

See here for more information

Basiclife
But, is 'Base Address Randomization' equal to ASLR? I thought it just decides it's base address(Only!) in runtime(Randomly).
Benjamin
It's the same thing.
Hans Passant
I believe the net result is the same - you're effectively adding a fixed offset to all addresses. See here: http://www.usenix.org/events/sec03/tech/full_papers/bhatkar/bhatkar_html/dao002.html which specifically refers to this as Base Address Randomisation
Basiclife
@Hans - Do you ever sleep? I'm starting to wonder if you're an AI (I for one would like to welcome our new cybernetic overlords)
Basiclife