Breakpoint 1, 0x00007ffff7de8060 in __libc_start_main () from /usr/lib/libc.so.6
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/firstlove/projects/org-ioslide/example/a.out
Breakpoint 1, 0x00007ffff7de8060 in __libc_start_main () from /usr/lib/libc.so.6
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/firstlove/projects/org-ioslide/example/a.out
Breakpoint 1, 0x00007ffff7de8060 in __libc_start_main () from /usr/lib/libc.so.6
(gdb) Quit
(gdb) quit
A debugging session is active.
Inferior 1 [process 16372] will be killed.
Quit anyway? (y or n) y
firstlove-pc% cat /proc/sys/kernel/randomize_va_space
2
IIUC, ASLR должен рандомизировать все адреса, включая один из них libc.so
, но я обнаружил, что адрес __libc_start_main()
всегда находится 0x00007ffff7de8060
на моей машине с Linux, почему? Что не так?
1
Рандомизация адресного пространства также рандомизирует адреса функций или только адреса переменных?
—
rubenvb
Видите ли вы тот же результат, если вы начинаете новый сеанс GDB, в котором нужно проверить адрес, вместо того, чтобы повторно запустить программу в том же сеансе GDB?
—
Джон Боллинджер
@JohnBollinger Я определенно пытался
—
力 力