심볼?
어플리케이션, 라이브러리, 드라이버, OS의 링킹 작업에서 exe와 dll 파일을 생성하는 linker는 많은 수의 symbol 파일을 만들어낸다.
윈도우의 심볼파일
symbol 파일은 바이너리가 실행되기 위해 필요한것은 아니지만, 디버깅 과정에서 유용하게 사용되는 정보를 포함한다.
- 전역변수 이름
- 지역변수 이름
- 함수 이름
- Entry Point 주소
- FPO data
- Source-line 번호
ELF 형식에서는 프로그램 내부 심볼 테이블이라는 영역에 심볼정보가 저장된다
strip을 통해 오브젝트파일에서 심볼을 삭제할 수 있다.
심볼이 없으면 디버깅 시 전역변수 나 함수 이름이 보이지 않는다.
'리버싱 > 리눅스' 카테고리의 다른 글
DIMICTF 2019 : dimi-farm (OBO: Off By One) (0) | 2020.02.10 |
---|---|
메모리 보호 기법 (0) | 2020.02.09 |
DIMICTF 2019 : ropsaurusrex2 (ROP, PIE기법) (0) | 2020.02.09 |
문제를 풀기위한 팁 및 도구사용법 모음 (0) | 2020.02.08 |
드림핵 System Exploitation Fundamental (2) : Memory Corruption (0) | 2020.02.05 |