-
[System Security] 2.1 컴파일과 ELF 파일구조Security/System Security 2021. 4. 2. 15:46
용어 정리
Program : 사용자가 컴퓨터에 작업을 시키기 위한 instruction들의 집합
Process : 실행중인 프로그램
Processor : 중앙처리장치
프로그램 컴파일 과정
1. 전처리기 (Pre-Processor) : 소스 코드(.c) 파일에서 전처리 명령어를 변경하여 저장(.i)
2. 컴파일러 : 전처리된 소스코드(.i)를 어셈블리어로 변경(.s)
3. 어셈블러 : 어셈블리어(.s)를 기계어로 변경(.o)
4. 링커 : 정적 라이브러리를 포함시켜 실행 파일로 변경(.out)
+ 동적 라이브러리는 실행 중 참조
Object File Format
.text : 작성된 코드가 저장
.rodata : Read Only Data, 문자열 상수 등 읽기 전용
.data : 초기화된 데이터
.bss : 초기화되지 않은 데이터
Executable Object File Format
.interp : 동적 링커(ld.so) 파일의 full path 정보 저장
.dynsym : 동적 라이브러리(.so) 파일의 symbol 테이블
.dynstr : .dynsym의 스트링 테이블
.dynamic : ld.so에서 사용할 동적 링킹 정보
..
'Security > System Security' 카테고리의 다른 글
[System Security] 3.1 운영체제 개요 (0) 2021.04.04 [System Security] 2.5 동적 링킹 (0) 2021.04.02 [System Security] 2.4 동적 로딩 vs 정적 로딩 (0) 2021.04.02 [System Security] 2.3 정적 링킹과 로딩 (0) 2021.04.02 [System Security] 2.2 심볼과 링킹 (0) 2021.04.02