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 nên chọn ngẫu nhiên tất cả địa chỉ, kể cả địa chỉ, libc.so
nhưng tôi thấy rằng địa chỉ __libc_start_main()
luôn 0x00007ffff7de8060
ở trên máy Linux của tôi, tại sao? Chuyện gì thế?
1
Liệu ngẫu nhiên không gian địa chỉ cũng ngẫu nhiên các địa chỉ hàm hoặc chỉ các biến?
—
rubenvb
Bạn có thấy kết quả tương tự nếu bạn bắt đầu một phiên gdb mới để kiểm tra địa chỉ, thay vì chạy lại chương trình trong cùng một phiên gdb không?
—
John Bollinger
@JohnBollinger Tôi đã cố gắng chắc chắn
—
陳