반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- codeup
- SQLD
- 다운로드
- C 프로그래밍
- c언어
- 리버싱
- sql
- ctf
- 오늘의 보안동향
- 코드업
- Code Up
- Defcon DFIR CTF 2019
- 리버싱 핵심원리
- defcon.mem
- cmd
- Volatility
- C
- 정보보안기사
- 오늘의 영어
- C language
- 설치
- DEFCON
- 오늘의 보안
- 보안
- 악성코드
- 랜섬웨어
- 멀웨어
- Memory Forensics
- 보안동향
- 코딩
Archives
- Today
- Total
오브의 빛나는 별
2부 13장 PE File Format(1) 본문
반응형
안녕하세요, 오브입니다.
오늘은 PE 파일의 기본구조와 VA, RVA에 대해 알아보겠습니다.
PE File Format
13.1. 소개
- PE 파일: Windows 운영체제에서 사용되는 실행 파일 형식. 기존 UNIX에서 사용되는 COFF 기반. 32비트 형태의 실행 파일.
종류 | 주요 확장자 | 종류 | 주요 확장자 |
주요 확장자 | EXE, SCR | 드라이버 | SYS, VXD |
라이브러리 계열 | DLL, OCX, CPL, DRV | 오브젝트 파일 계열 | OBJ |
- OBJ 제외 모두 실행 가능
13.2.1. 기본 구조
- notepad.exe는 일반적인 PE 파일의 기본 구조임.
- DOS header부터 Section header까지 PE 헤더, 그 밑의 Section들을 합쳐 서 PE 바디(Body)라고 함.
- 파일에서는 offset으로, 메모리에서는 VA(절대주소)로 위치 표현
- 파일의 내용은 보통 코드(.text), 데이터(.data), 리소스(. rsrc) 섹션에 나뉘어서 저장
- PE 헤더 끝부분과 각 세션의 끝에는 NULL padding 존재. 컴퓨터에서 파일, 메모리, 네트워크 패킷 등 처리할 때 효율을 높이기 위해 최소 기본 단위 개념을 사용하는데 PE 파일에도 같은 개념 적용
- 파일/메모리 섹션의 시작 위치는 최소 기본 단위의 배수에 해당하는 위치. 빈공간은 NULL
13.2.2. VA & RVA
- VA: 프로세스 가상 메모리의 절대주소
- RVA: 어느 기준 위치에서부터의 상대주소
- RVA + ImageBase = VA
- PE 헤더 내의 정보는 RVA 형태로 된 것이 많음. PE 파일(주로 DLL)이 프로세스 가상 메모리의 특정 위치에 로딩되는 순간 이미 그 위치에 다른 PE 파일이 로딩되어 있을 수 있음, 그럴 때 재배치를 해야하는 VA로 되어있으면 정상적인 엑세스가 이루어지지 않기 때문에 RVA로 함.
반응형
'리버싱' 카테고리의 다른 글
2부 13장 PE File Format(3) (0) | 2022.04.24 |
---|---|
2부 13장 PE File Format(2) (0) | 2022.04.23 |
1부 3장 리틀 엔디언 표기법 (0) | 2022.04.23 |
1부 2장 Hello World! 리버싱(3) (0) | 2022.04.23 |
1부 2장 Hello World! 리버싱(3) (0) | 2022.04.23 |