2010-02-07 4 views
9

ldd을 사용하여 Fedora/x86에서 동적 라이브러리를 보여 주며 사용 될 때마다 다른 결과를 보여줍니다.ldd가 x86 Linux에서 다양한 주소를 표시합니다.

예상 되나요? 아니면 설명이 있습니까?

PPC/Linux에서 고정 된 결과를 보여줍니다.

`ldd /bin/ls 
linux-gate.so.1 => (0x00e5b000) 
librt.so.1 => /lib/librt.so.1 (0x00c0c000) 
libselinux.so.1 => /lib/libselinux.so.1 (0x0095d000) 
libcap.so.2 => /lib/libcap.so.2 (0x00110000) 
libacl.so.1 => /lib/libacl.so.1 (0x00331000) 
libc.so.6 => /lib/libc.so.6 (0x00115000) 
libpthread.so.0 => /lib/libpthread.so.0 (0x00bc9000) 
/lib/ld-linux.so.2 (0x009d2000) 
libdl.so.2 => /lib/libdl.so.2 (0x00680000) 
libattr.so.1 => /lib/libattr.so.1 (0x00447000) 
ldd /bin/ls 
linux-gate.so.1 => (0x00f76000) 
librt.so.1 => /lib/librt.so.1 (0x00494000) 
libselinux.so.1 => /lib/libselinux.so.1 (0x0095d000) 
libcap.so.2 => /lib/libcap.so.2 (0x009e9000) 
libacl.so.1 => /lib/libacl.so.1 (0x00365000) 
libc.so.6 => /lib/libc.so.6 (0x00732000) 
libpthread.so.0 => /lib/libpthread.so.0 (0x00b61000) 
/lib/ld-linux.so.2 (0x002a7000) 
libdl.so.2 => /lib/libdl.so.2 (0x002f0000) 
libattr.so.1 => /lib/libattr.so.1 (0x00447000)` 

답변

14

페도라는 다양한 보안 수단의 일환으로 address space randomization을 사용합니다. ldd은 실제로 공유 객체를로드하고 최종 공유 위치를 보여주는 방식으로 작동합니다. 두 개를 합치면 주어진 관찰 결과가 나온다.

+0

thx! 그게 내가 찾고 있던거야! – tristan

+0

@Tristan :이 답변을 수락 된 것으로 표시하십시오. –

관련 문제