SMALL
리눅스 커널 이미지 구조
- vmlinux 파일
커널 소스의 최상위 디렉토리에 만들어짐
압축되지 않은 elf 포맷의 파일의 커널 이미지
ex) 다음과 같은 경로에 생김. (최상위 디렉토리)
- System.map 파일
symbol들의 메모리 위치 맴을 보여준다. (디버깅, 포렌식에 사용된다)
리눅스 커널 이미지는 다시 0xc0000000에 다시 매핑된다.
- Image
최상위 디렉토리의 vmlinux 를 binary 포맷으로 변환시킨 압축되지 않은 커널 이미지
위의 vmlinux에서 실행될 때 사용되는 것만 가져옴
- vmlinux 파일 (~/arch/(cpu)/boot/compressed/)
해당 위치에 존재하는 vmlinux파일의 경우, 압축되어 있는 파일이다.
최상위 디렉토리에서의 vmlinux에서 디버그 정보를 삭제하고 압축한 piggy.o를 생성하고
여기에 head.o 와 misc.o를 합친 이미지임
vmlinux = head.o + misc.o + piggy.gzip.o
head.S -> head.o == 리눅스 커널의 초기화 시작 부분
misc.c -> misc.o == 커널 압축 이미지를 압축 해체
LIST
'학부_대학원 > 대학원_학과공부정리' 카테고리의 다른 글
64bit reverse shellcode (0) | 2017.09.06 |
---|---|
리눅스 커널 부팅 과정[0] (0) | 2017.08.22 |
VFS - Virtual File System[1] (0) | 2017.05.06 |
[*nix] 자가 삭제(unlink), 프로세스 이름 변경(prctl) (0) | 2017.04.15 |
리눅스 커널 디렉토리 구조 (0) | 2017.04.13 |