시스템 해킹 Stage 3
디버거(Debugger) 버그(bug) : 실수로 발생한 프로그램의 결함. 디버거 : 버그를 없애기 위해 사용하는 도구. 프로그램을 어셈블리 코드 단위로 실행하면서, 실행 결과를 사용자에게 보여줌. gdb(GNU debugger) 무료 오픈 소스. 우분투에 기본 설치. debugee.c를 컴파일 해준 뒤 gdb debugee로 디버깅을 해준다. ELF(Executable and Linkable Format) = 리눅스의 실행파일 형식 헤더와 여러 섹션들로 구성 헤더 : 실행에 필요한 여러 정보 섹션 : 컴파일 된 기계어 코드, 프로그램 문자열 등 여러 데이터 포함 진입점(Entry Point, EP) - 운영체제는 ELF를 실행할 때, 진입점의 값부터 프로그램을 실행한다. readelf로 확인해본 결과,..