ldd顯示器,其中共享庫在運行時間加載庫的隨機存儲器地址的需求是什麼?
$ cat one.c
#include<stdio.h>
int main() {
printf ("%d", 45);
}
$ gcc one.c -o one -O3
$ ldd one
linux-gate.so.1 => (0x00331000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00bc2000)
/lib/ld-linux.so.2 (0x006dc000)
$
this answer從另一個問題鏈接的存儲器地址,
...的地址是基本上隨機數。在設計安全實現之前,ldd會始終指示程序部分加載的內存地址。大約五年前,現在許多Linux都故意隨機化加載地址,以阻止潛在的病毒編寫者等。
我不完全瞭解這些內存地址如何用於利用。
是對類似問題,或者是它的東西比這更「如果地址是固定的,一個可以,如果它是一個庫,將同該地址把一些不良代碼」?