2012-03-08 2 views

답변

3

RVA는 상대 가상 주소, 기본 기본 주소로부터의 거리입니다. 기본 주소는 PE 헤더에 명시되어 있으며 실행 파일을 메모리에로드 할 때 메모리에있는 이미지 시작의 (선호하는) 가상 주소입니다.

그리고 파일 오프셋은 파일의 어딘가에 도착하기 위해 PE 파일의 시작 부분에서 읽어야하는 바이트 수입니다. 따라서 섹션이 있으면 섹션 헤더에서 섹션의 RVA와 파일의 오프셋을 찾을 수 있습니다. 섹션이로드되면 가상 메모리의 양과 PE 파일의 섹션 데이터 크기 만 나타내는 두 가지 크기를 찾을 수 있습니다.

PE 내에서 많은 참조가 RVA로 제공됩니다. 이 경우 참조의 PE 파일에서 오프셋을 가져 오려면 모든 섹션 헤더를 체크인 (또는 일종의 맵핑)해야합니다.

+0

rva를 오프셋으로 변환하는 다른 방법이 있습니까? – user1232138

+0

상대 가상 주소와 가상 주소의 차이점은 무엇입니까? – user1232138

+0

rva를 오프셋으로 변환하려면 "virtual_address"및 "virtual_size"필드에서 주어진 rva 범위가 rva를 포함하는 섹션을 찾을 때까지 rva가있는 섹션 헤더를 직접 살펴야합니다. – dsign