티스토리 뷰
Static Link 방식과 Dynamic Link 방식
Static Link
Static Link 방식
- 파일 생성시 라이브러리 내용을 포함하여 실행 파일을 만듦.
- gcc 옵션 중 static 옵션을 적용하면 Static Link 방식으로 컴파일 됨.
Static Link 특징
- 실행 파일 안에 모든 코드가 포함되기 때문에 라이브러리 연동 과정이 필요 없음.
- 한 번 생성한 파일에 대해 필요한 라이브러리를 따로 관리하지 않아도 됌.
- 하지만, 파일의 크기가 커지는 단점이 존재.
- 동일한 라이브러리를 사용하더라고 해당 라이브러리를 사용하는 모든 프로그램들은 라이브러리의 내용을 메모리에 매핑 시켜야 함.
Dynamic Link
Dynamic Link 방식
- 공유 라이브러리를 사용하는 방식.
- 라이브러리를 하나의 메모리 공간에 매핑하고 여러 프로그램에서 공유하여 사용.
Dynamic Link 특징
- 실행 파일 안에 라이브러리 코드를 포함하지 않아서 Static Link 방식에 비해 파일 크기가 훨씬 작음.
- 그래서 실행시 상대적으로 적은 메모리 차지.
- 라이브러리를 따로 업데이트 할 수 있어서 유연함.
- 실행파일이 라이브러리에 의존해야 하기 때문에 라이브러리가 없으면 실행 할 수 없음.
'pwnable > 정리' 카테고리의 다른 글
linux 환경에서의 메모리 보호기법들 1 (ASLR, DEP, ASCII-Armor, Stack Canary) (0) | 2018.01.08 |
---|---|
PLT와 GOT (0) | 2018.01.07 |
gdb 사용법 정리 (0) | 2018.01.06 |
ShellShock bash shell 취약점(CVE-2014-6271) (0) | 2018.01.01 |
IA32 인텔 CPU 구조, 레지스터 (3) | 2017.12.20 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- TLS
- glibc
- oob
- tcache
- SQLi
- pwnable.tw
- heap
- stack reusing
- overflow
- codegate
- rt_sigreturn
- hacking
- srop
- fastbindup
- exit
- pwnable
- HackCTF
- 본선가고싶다
- fastbin
- FSB
- shellcoding
- pwable
- fsop
- 해킹
- ebp change
- Total
- Today
- Yesterday