GOT와 PLT
= GOT =
Global Offset Table(전역 오프셋 테이블)로써, 실행 후, libc.so내 실제 함수 주소가 담기는 저장소이다.
Global Offset Table(전역 오프셋 테이블)로써, 실행 후, libc.so내 실제 함수 주소가 담기는 저장소이다.
= PLT =
일종의 실제 호출 코드를 담고 있는 Procedure Linkage Table(프로시져 링키지 테이블)로써
이 내용 참조를 통해 _dl_runtime_resolve가 수행되고, 실제 시스템 라이브러리 호출이 이루어지게 된다. (매 번이 아닌, 한 번만 수행되고 나면, 그 다음부터는 GOT에 기록된 내용만 참조하여 수행) 이를 실제 시스템 라이브러리 주소를 호출하기 위해 필요한 정보 테이블이라 보면 될꺼 같다. (_dl_runtime_resolve의 인자 값도 여기서 들어감)
[출처 : x82 님 홈피 ]
'Computer Engineering > Reverse Engineering' 카테고리의 다른 글
[펌글] gdb 를 통한 디버깅 따라하기 & gdb 매뉴얼 (0) | 2011.12.18 |
---|