Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The commands

gcc main.c -o main

ldd main

yield => (0x00f67000) => /lib/i386-linux-gnu/ (0x00b7d000)

/lib/ (0x00ae5000)

Is it possible to change the address where will be mapped in memory? For example, have instead be mapped at, say, 0xb0000000.

I'm running Xubuntu 32bit: Linux 3.2.0-23-generic ... i686 i686 i386 GNU/Linux


share|improve this question
what you are trying to achieve? these address belongs to libs entry points, why you would want to change them? – Maxwell S. May 14 '12 at 20:25
In order to perform a few ret2libc buffer overflow exploits, the payload string has to contain the addresses of a few libc functions that are not present in the plt section of my binary. This string should not contain any \x00 bytes, hence why I would like to have the libc library higher up in memory. – ldso May 14 '12 at 20:35
@idso you better go and post you question, this is a very specific question. – Maxwell S. May 14 '12 at 20:42
Thanks for the advice, I'll do that. – ldso May 14 '12 at 20:45

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.