RAV : 메모리 주소
RAW : 파일 주소
[ 공식 ]
RAW - PointerToRawData = RVA - VA
RAW = RVA - VA + PointerToRawData
풀어보기
.text
RAW : 0x400 ~ 0x12C00
RVA : 0x1001000 ~ 0x10136B0
.data
RAW : 0x12C00 ~ 0x13600
RVA : 0x1014000 ~ 0x101501C
.rsrc
RAW : 0x13600 ~ 0x1C000
RVA : 0x1016000 ~ 0x101E960
문제 1. RVA 0x1009000 일때 File Offset은 ?
[0x1009000]의 주소는 .text 부분에 속하는 것을 알 수 있다
그럼 RAW로 변환하기 위한 공식을 대입해본다
RAW = RVA - VA + PointerToRawData
0x1009000 - 0x1001000 + 0x400 = 0x8400
![](https://velog.velcdn.com/images/cmy11a8b/post/ca773a0b-cae1-4984-97b6-e1c4d9c41e0a/image.png)
문제 2. RVA 0x1018000 일때 File Offset은 ?
[0x1018000]의 주소는 .rsrc 부분에 속하는 것을 알 수 있다
그럼 RAW로 변환하기 위한 공식을 대입해본다
RAW = RVA - VA + PointerToRawData
0x1018000 - 0x1016000 + 0x13600 = 0x15600
![](https://velog.velcdn.com/images/cmy11a8b/post/54c60527-839b-4499-bc3d-ba892b39ead3/image.png)
문제 3. RVA 0x101421C 일때 File Offset은 ?
[0x101421C]의 주소는 .rsrc 부분에 속하는 것을 알 수 있다
그럼 RAW로 변환하기 위한 공식을 대입해본다
RAW = RVA - VA + PointerToRawData
0x101421C - 0x1014000 + 0x12C00 = 0x12E1C
![](https://velog.velcdn.com/images/cmy11a8b/post/498538bf-e158-42c1-adf1-f351f98344e5/image.png)
문제 4. RVA 0x101B960 일때 File Offset은 ?
[0x101B960]의 주소는 .rsrc 부분에 속하는 것을 알 수 있다
그럼 RAW로 변환하기 위한 공식을 대입해본다
RAW = RVA - VA + PointerToRawData
0x101B960 - 0x1016000 + 0x13600 = 0x18F60
![](https://velog.velcdn.com/images/cmy11a8b/post/74243421-8b23-419f-9836-e4fe144dd5b5/image.png)