본문 바로가기

Computer Engineering/Reverse Engineering

[펌글] GOT / PLT

GOT와 PLT

= GOT =
Global Offset Table(전역 오프셋 테이블)로써, 실행 후, libc.so내 실제 함수 주소가 담기는 저장소이다.

= PLT =
일종의 실제 호출 코드를 담고 있는 Procedure Linkage Table(프로시져 링키지 테이블)로써
이 내용 참조를 
통해 _dl_runtime_resolve가 수행되고, 실제 시스템 라이브러리 호출이 이루어지게 된다. (매 번이 아닌, 한 번만 수행되고 나면, 그 다음부터는 GOT에 기록된 내용만 참조하여 수행) 이를 실제 시스템 라이브러리 주소를 호출하기 위해 필요한 정보 테이블이라 보면 될꺼 같다. (_dl_runtime_resolve의 인자 값도 여기서 들어감)

[출처 : x82 님 홈피 ]