hacking/pwnable74 [Dream hack] Quiz: Linux Memory Layout-7 답더보기기본 지식'rodata 세그먼트': 커파일 시점에 값이 정해진 전여 변수 및 전역 상수들이 위치한다.읽기 권한이 부여된다.d_str이가 위치하는 세그먼트'd_str'는 문자열 리터럴로 취급되어 상수로 취급한다.'d_str'는 'roda 세그먼트'에 위치한다.const char b[] = "d_str"; 참고'데이어 세그먼트'의 특징'data 세그먼트' : 읽기 쓰기 권한'rodata 세그먼트': 읽기 권한끝 2024. 5. 1. [Dream hack] Quiz: Linux Memory Layout-6 답더보기기본 지식' 힙 세그먼트': malloc(), calloc()등을 호출해서 할당받는 메모리가 위치한다. 읽기와 쓰기 권한이 부여된다.e가 위치하는 세그먼트'e'는 malloc() 으로 할당 받는다.'d'는 '힙 세그먼트'에 위치한다.int *e = malloc(sizeof(*e)); 참고' 힙 세그먼트'의 특징실행 중에 동적으로 할당될 수 있다., 스택 세그먼트와 반대 방향으로 자란다. 끝 2024. 5. 1. [Dream hack] Quiz: Linux Memory Layout-5 답더보기기본 지식'스택 세그먼트': 함수의 인자나 지역변수와 같은 임시 변수들이 실행중에 저장된다. 읽기와 쓰기 권한이 부여된다. d가 위치하는 세그먼트'd'는 임시변수이고 지역변수이다.'d'는 '스텍 세그먼트'에 위치한다.int d = 0xd; 참고'스택 세그먼트'의 특징스택에서 '아래로 자란다'란다 라는 표현을 사용하느데, 스텍이 확장될 때, 기존 주소보다 낮은 주소로 확장되기 떄문이다.작은 크기의 스택 세그먼트를 먼저 할당해주고, 부족해 질 떄마다 이를 확장해준다.끝 2024. 5. 1. [Dream hack] Quiz: Linux Memory Layout-4 답더보기기본 지식'rodata 세그먼트': 커파일 시점에 값이 정해진 전여 변수 및 전역 상수들이 위치한다.읽기 권한이 부여된다.b가 위치하는 세그먼트'b'는 초기화 전역으로 선언된 상수 이다.'b'는 'roda 세그먼트'에 위치한다.const char b[] = "d_str"; 참고'데어 세그먼트'의 특징'data 세그먼트' : 읽기 쓰기 권한'rodata 세그먼트': 읽기 권한끝 2024. 5. 1. [Dream hack] Quiz: Linux Memory Layout-3 답더보기기본 지식'데이터 세그먼트': 커파일 시점에 값이 정해진 전여 변수 및 전역 상수들이 위치한다.읽기,쓰기 권한이 부여된다.a가 위치하는 세그먼트'a'는 초기화 전역변수이다.'a'는 '데이터세그먼트'에 위치한다.int a = 0xa; 참고'데어 세그먼트'의 특징'data 세그먼트' : 읽기 쓰기 권한'rodata 세그먼트': 읽기 권한끝 2024. 5. 1. [Dream hack] Quiz: Linux Memory Layout-2 답더보기기본 지식'코드 세그먼트': 실행가능한 기계 코드가 위치하는 영역읽기 권한만 남아있따.foo가 위치하는 세그먼트'foo'는 실행 가능한 기계 코드이다..'foo'는 '코드 세그먼트'에 위치한다.int foo(int arg) { // 코드 세그먼트에 위치 int d = 0xd; return 0;} 참고'코드 세그먼트'의 특징프로그램이 동작하기 위해 코드를 실행할 수 있어야 하기 떄문에, 읽기, 쓰기 권한이 부여된다.반면에 쓰기 권한이 있으면 공격자가 악성코드를 삽입하기 쉽기 때문에 , 쓰기 권한을 제거한다.끝 2024. 5. 1. 이전 1 ··· 8 9 10 11 12 13 다음