1. RAW
- 파일이 실행되기 이전에 파일에서의 주소를 의미한다. 즉 File Offset(Pointer to RAW Data)를 의미한다.
- RAW = X_RVA - 섹션_RVA + Pointer to Raw Data
- 섹션_RVA 섹션 헤더 멤버의 RVA 주소
- Virtual Size 메모리에서 차지하는 섹션의 크기(패딩/Null 포함)
- X_RVA 메모리에서 찾고자 하는 어떤 데이터의 주소
- Size of Raw Data 파일에서 섹션의 크기(패딩/Null 포함)
- Pointer to Raw Data 파일에서 섹션의 주소
2. RVA to RAW 구하기
- X_RVA=0x1000인 경우, RAW는? (메모리 RVA 0x1000에 있는 데이터는 파일에서 어디 주소에 있는가?)
- RAW = X_RVA - 섹션_RVA + Pointer to Raw Data
[메모리]
──────── 0x01001000
.text 섹션
-------------------- 0x01053CA1
패딩 : 0x035F
──────── 0x01053FFF - X_RVA 0x1000
- 섹션_RVA 0x1000
- Pointer to Raw Data 0x400
- 파일에서 .text 섹션 범위 0x400 ~ 0x53200(0x400 + 0x52E00) 이전까지
- RAW = 0x1000 - 0x1000 + 0x400 = 0x400
- X_RVA가 '0x1000'인 경우, RAW는 '0x400'이며, 파일에서 .text 섹션 시작 주소를 의미한다.
'메가IT아카데미 국기과정 > 리버싱과 악성코드 분석' 카테고리의 다른 글
[1-7] PE 파일 분석(PE 재배치) (0) | 2022.09.13 |
---|---|
[1-6] PE 파일 분석(PE 바디-섹션) (0) | 2022.09.13 |
[1-4] PE 파일 분석(RVA to VA) (0) | 2022.09.13 |
[1-3] PE 파일 분석(섹션 헤더) (0) | 2022.09.13 |
[1-2] PE 파일 분석(PE 헤더) (0) | 2022.09.13 |