본문 바로가기

rva

RAV to RAW RVA to RAW는 RVA 값이 있을 때, 해당 Section이 어디인지 찾는 방법을 말합니다. RAW는 File Offset을 말합니다. 먼저 아래 그림을 보도록 할께요. 왼쪽은 파일에서의 위치를 나타내고 오른쪽은 메모리상에서의 위치를 나타냅니다. RAW를 구하는 방법은 다음과 같습니다. RAW = RVA - VirtualAddress + PointerToRawDataRAW = RVA - VA + PTRD 풀어서 말하자면, 파일의 임의위치(RAW) = 메모리의 임의위치(RVA) - 메모리의 해당 섹션 시작위치(VA) + 파일의 해당 섹션 시작위치(PTRD) 입니다. 간단한 예를 들어서 마치도록 하겠습니다. =====================================================.. 더보기
VA & RVA PE 구조를 배우기 앞서서 VA와 RVA에 대해서 알아보도록 하겠습니다. VA는 Virtual Address로 가상주소를 뜻하며, RVA는 Relative Virtual Address로 상대주소를 뜻합니다. RVA는 상대주로라고 말했는데 ImageBase부터의 상대주소를 뜻합니다. 가상 메모리에서의 Offset 개념입니다. Offset은 파일에서의 위치를 나타냅니다. 즉, RVA는 메모리에서의 위치라고 생각하시면 됩니다. 이렇게 글로만 봐서는 쉽게 이해하기 어렵습니다. 뒤에 이어지는 PE구조를 공부하시다 보면 쉽게 이해가 되실겁니다. 우리가 사용하는 시스템은 다음과 같이 메모리를 사용하게 됩니다. 물리주소를 보면 빨간 영역은 프로그램이 할당되어 사용되어지고 있는 영역입니다. 파란 영역은 사용되지 않고 있.. 더보기