gcc main.c -o main
ldd main
产量
linux-gate.so.1 => (0x00f67000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00b7d000)
/lib/ld-linux.so.2 (0x00ae5000)
是否有可能改变libc.so.6的地方将内存映射的地址?例如,将libc.so.6改为映射到0xb0000000。
我运行Xubuntu上32位:Linux的3.2.0-23-i686的通用i686的的i386 GNU/Linux的
你为什么要问的路径呢?另请参阅http://en.wikipedia.org/wiki/Address_space_layout_randomization –
为了执行一些ret2libc缓冲区溢出攻击,有效负载字符串必须包含一些libc函数的地址,这些函数不在我的plt部分二进制文件。该字符串不应该包含任何\ x00字节,因此我希望将libc库更高地放在内存中。请注意,这只是一个自定义的“训练二进制”。 ASLR在我的系统上暂时被禁用(这仅仅是一个虚拟机,因此它没有任何伤害)。 – ldso