--
You received this message because you are subscribed to the Google Groups "osinside" group.
To post to this group, send email to osin...@googlegroups.com.
To unsubscribe from this group, send email to osinside+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/osinside?hl=en.
root@workplace:~# cat /proc/self/maps
08048000-0804f000 r-xp 00000000 08:01 24579 /bin/cat
0804f000-08050000 rw-p 00006000 08:01 24579 /bin/cat
08050000-08071000 rw-p 08050000 00:00 0 [heap]
b7c8c000-b7ccb000 r--p 00000000 08:01 347437
/usr/lib/locale/en_US.utf8/LC_CTYPE
b7ccb000-b7ccc000 r--p 00000000 08:01 347438
/usr/lib/locale/en_US.utf8/LC_NUMERIC
b7ccc000-b7ccd000 r--p 00000000 08:01 347439
/usr/lib/locale/en_US.utf8/LC_TIME
b7ccd000-b7deb000 r--p 00000000 08:01 347440
/usr/lib/locale/en_US.utf8/LC_COLLATE
b7deb000-b7dec000 r--p 00000000 08:01 347441
/usr/lib/locale/en_US.utf8/LC_MONETARY
b7dec000-b7ded000 r--p 00000000 08:01 347442
/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
b7ded000-b7dee000 r--p 00000000 08:01 347443
/usr/lib/locale/en_US.utf8/LC_PAPER
b7dee000-b7df5000 r--s 00000000 08:01 312727
/usr/lib/gconv/gconv-modules.cache
b7df5000-b7df6000 rw-p b7df5000 00:00 0
b7df6000-b7f49000 r-xp 00000000 08:01 419455
/lib/tls/i686/cmov/libc-2.11.1.so
b7f49000-b7f4a000 ---p 00153000 08:01 419455
/lib/tls/i686/cmov/libc-2.11.1.so
b7f4a000-b7f4c000 r--p 00153000 08:01 419455
/lib/tls/i686/cmov/libc-2.11.1.so
b7f4c000-b7f4d000 rw-p 00155000 08:01 419455
/lib/tls/i686/cmov/libc-2.11.1.so
b7f4d000-b7f50000 rw-p b7f4d000 00:00 0
b7f50000-b7f51000 r--p 00000000 08:01 347444
/usr/lib/locale/en_US.utf8/LC_NAME
b7f51000-b7f52000 r--p 00000000 08:01 347445
/usr/lib/locale/en_US.utf8/LC_ADDRESS
b7f52000-b7f53000 r--p 00000000 08:01 347446
/usr/lib/locale/en_US.utf8/LC_TELEPHONE
b7f53000-b7f54000 r--p 00000000 08:01 347447
/usr/lib/locale/en_US.utf8/LC_MEASUREMENT
b7f54000-b7f55000 r--p 00000000 08:01 347448
/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
b7f55000-b7f57000 rw-p b7f55000 00:00 0
b7f57000-b7f58000 r-xp b7f57000 00:00 0 [vdso]
b7f58000-b7f73000 r-xp 00000000 08:01 417808 /lib/ld-2.11.1.so
b7f73000-b7f74000 r--p 0001a000 08:01 417808 /lib/ld-2.11.1.so
b7f74000-b7f75000 rw-p 0001b000 08:01 417808 /lib/ld-2.11.1.so
bf94d000-bf962000 rw-p bffeb000 00:00 0 [stack]
root@workplace:~# cat /proc/self/maps
08048000-0804f000 r-xp 00000000 08:01 24579 /bin/cat
0804f000-08050000 rw-p 00006000 08:01 24579 /bin/cat
08050000-08071000 rw-p 08050000 00:00 0 [heap]
b7c75000-b7cb4000 r--p 00000000 08:01 347437
/usr/lib/locale/en_US.utf8/LC_CTYPE
b7cb4000-b7cb5000 r--p 00000000 08:01 347438
/usr/lib/locale/en_US.utf8/LC_NUMERIC
b7cb5000-b7cb6000 r--p 00000000 08:01 347439
/usr/lib/locale/en_US.utf8/LC_TIME
b7cb6000-b7dd4000 r--p 00000000 08:01 347440
/usr/lib/locale/en_US.utf8/LC_COLLATE
b7dd4000-b7dd5000 r--p 00000000 08:01 347441
/usr/lib/locale/en_US.utf8/LC_MONETARY
b7dd5000-b7dd6000 r--p 00000000 08:01 347442
/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
b7dd6000-b7dd7000 r--p 00000000 08:01 347443
/usr/lib/locale/en_US.utf8/LC_PAPER
b7dd7000-b7dde000 r--s 00000000 08:01 312727
/usr/lib/gconv/gconv-modules.cache
b7dde000-b7ddf000 rw-p b7dde000 00:00 0
b7ddf000-b7f32000 r-xp 00000000 08:01 419455
/lib/tls/i686/cmov/libc-2.11.1.so
b7f32000-b7f33000 ---p 00153000 08:01 419455
/lib/tls/i686/cmov/libc-2.11.1.so
b7f33000-b7f35000 r--p 00153000 08:01 419455
/lib/tls/i686/cmov/libc-2.11.1.so
b7f35000-b7f36000 rw-p 00155000 08:01 419455
/lib/tls/i686/cmov/libc-2.11.1.so
b7f36000-b7f39000 rw-p b7f36000 00:00 0
b7f39000-b7f3a000 r--p 00000000 08:01 347444
/usr/lib/locale/en_US.utf8/LC_NAME
b7f3a000-b7f3b000 r--p 00000000 08:01 347445
/usr/lib/locale/en_US.utf8/LC_ADDRESS
b7f3b000-b7f3c000 r--p 00000000 08:01 347446
/usr/lib/locale/en_US.utf8/LC_TELEPHONE
b7f3c000-b7f3d000 r--p 00000000 08:01 347447
/usr/lib/locale/en_US.utf8/LC_MEASUREMENT
b7f3d000-b7f3e000 r--p 00000000 08:01 347448
/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION
b7f3e000-b7f40000 rw-p b7f3e000 00:00 0
b7f40000-b7f41000 r-xp b7f40000 00:00 0 [vdso]
b7f41000-b7f5c000 r-xp 00000000 08:01 417808 /lib/ld-2.11.1.so
b7f5c000-b7f5d000 r--p 0001a000 08:01 417808 /lib/ld-2.11.1.so
b7f5d000-b7f5e000 rw-p 0001b000 08:01 417808 /lib/ld-2.11.1.so
bfd2c000-bfd41000 rw-p bffeb000 00:00 0 [stack]
이런식으로 /proc/self/maps 몇번 때려보면.. executable만 빼고는 다들 자꾸 주
소가 바뀌죠..
물론 붙이고자하는 주소에 이미 다른 라이브러리가 붙어있거나 그럴수 있죠 물
론.. 아마 다른곳에 붙이지 않을까요..ㅎㅎ.. 그런 경우 잘 본적이 없어서.. 어
쨌든 그건 링커한테 달린 문제에요.. 링커마음..구현하기 나름.. executable만
고정된 loading address가 있죠.. 라이브러리가 실제 올라간 주소가 위에서처럼
확인되죠.. /proc/self/maps를 이용하면..
On 7/26/2010 8:43 PM, Junyeong Bak wrote:
> 정말 오랜만입니다. 메일은 거의 매일 확인 하는데 글을 쓴건 쉽지 않네요~
>
> 이번에 업데이트 된 걸 다 보진 못했지만 궁금 한 것이 있어 힘주어 글을 쓰네요~
>
> osinside에 대해 도움이 거의 되지 못해서 미안하기 하지만요~
>
> linux든 operating system에서 dll / so 같은 경우 한번 로딩 해서 여러 프로세
> 스가 같이 사용하기 되는데..
>
> 프로세스 별로 라이브러리의 메모리 주소를 확인 하려면 cat /proc/pid/maps 를
> 통해 할 수 있었던 거 같은데요~
>
> 프로세스별이 아니라 운영체제 전체에 로딩 되어 있는 library를 알 수 있는 방
> 법은 있는지 궁금합니다?
>
> 또한 elf에 보면 library의 entry point가 있는데 그곳에 무조건 올라가는지 아
> 니면 기존에 어떤 라이브러리가
>
> 있으면 다른 곳으로 올리는지 궁금해지네요~ 다른 곳 올리고 재배치 하는 거 같
> 은데요.
>
> 실제 올라가는 entry point를 확인할 수 있는 방법은 없나요??
>
> :)
>
>
> 2010/7/22 Min Lee <min...@gatech.edu <mailto:min...@gatech.edu>>
>
> 두개의 subchapter Procedure and thread과 Variable arguments을 추가했습니다.
> 요즘 x86-64좀 보고있는데 calling convention이 다르더군요.. variable
> arguments관련해서 삽질하다가.. 정리해봤습니다..
> 초보적인 내용일지 모르겠지만 중요한부분이라서.. 열심히좀 써봤더니 시간
> 후딱 가네요..
> 설명의 난이도는 문제가 있을지도.. 걍 마음대로 써봄..
> 날씨도 더운데 다들 몸조심~
>
> --
> You received this message because you are subscribed to the Google
> Groups "osinside" group.
> To post to this group, send email to osin...@googlegroups.com
> <mailto:osin...@googlegroups.com>.
> To unsubscribe from this group, send email to
> osinside+u...@googlegroups.com
> <mailto:osinside%2Bunsu...@googlegroups.com>.