system(pwnable)시스템(포너블)/BOF
-
달고나 문서 BOFsystem(pwnable)시스템(포너블)/BOF 2022. 9. 20. 19:18
오늘날의 시스템은 멀티태스킹을 하므로 그림처럼 여러개의 세그먼트가 저장될 수 있다. 하나의 세그먼트는 stack/data/code로 구성된다. 코드 세그먼트에는 컴파일러가 만들어낸 기계 컴파일러 코드가 들어있다. 컴파일 과정 중에는 코드가 저장될 정확한 메모리 주소를 알 수 없기 때문에, logical address를 사용한다(실제 주소는 offset(시작점) + logical address이 된다) 데이터 세그먼트에는 프로그램 실행 시에 필요한 데이터가 저장한다. 여기서 데이터는 전역변수를 말한다. **data segment에는 initialized data segment(초기화 된 데이터 세그먼트)와 uninitialized data segment(초기화 되지 않은 데이터 세그먼트)가 있는데 segm..