본문 바로가기

Reversing/Theory

Chapter 7. PE Header II - RVA to RAW

Chapter 7. PE Header II - RVA to RAW

1. RVA to RAW(Relative Virtual Address to RAW File Offset)
 - RVA to RAW
  · Section에서 Memory 주소(RVA)와 File의 Offset(RAW)을 Mapping하는 것
  · PE Header를 이용해 Packing과 같은 작업을 진행할 때 내용을 수정 후 RVA와 같은 값이 바뀌면 Mapping을 시켜줘야 한다.
  · RVA to RAW를 하는 방법
  ◦ RVA가 속한 Section 탐색
  ◦ 'IMAGE_SECTION_HEADER' 구조체에 의한 비례식을 사용해 File Offset(RAW) 계산
  ◦ 비례식

 - RVA to RAW 비례식을 이용한 Mapping의 예
  · '계산기' Program에서 RVA = 5000, File Offset = ?

  ◦ RVA(5000) - VA(1000) + PointerToRawData(400) = RAW(4400)
  ◦ 확인 

'Reversing > Theory' 카테고리의 다른 글

Chapter 9. 실행 압축(Run-Time Packer) I  (0) 2015.08.16
Chapter 8. PE Header III - IAT & EAT  (0) 2015.08.16
Chapter 6. PE header I - PE Format  (0) 2015.08.16
Chapter 5. Calling Convention  (0) 2015.08.16
Chapter 4. Stack  (0) 2015.08.16