1. 프로세스 메모리 구조

섹션

윈도우의 PE 파일은 PE 헤더와 1개 이상의 섹션으로 구성되어 있다.

섹션과 관련된 데이터 중, 중요한 것은 다음과 같다.

1. 섹션의 이름(.text, .data, .rdata)

2. 섹션의 크기(그 섹션이 파일에서/메모리에서 차지하는 크기)

3. 섹션이 로드될 주소의 오프셋(이 섹션을 메모리에 올릴 때 어디쯤에 배치할지에 대한 정보)

4. 섹션의 속성과 권한(읽기/쓰기/실행 같은 권한)

윈도우가 exe를 실행하면

  1. PE 헤더를 읽고

  2. 각 섹션을 가상 메모리(프로세스 주소공간) 안에 적절히 배치(매핑)하고

  3. 섹션 권한도 설정한 다음

  4. .text의 시작 지점부터 실행을 시작한다.

가장 자주 보이는 이 섹션 3개만 기억하면 된다.

  1. .text: 코드(실행되는 명령어)