6

저는 디스크에있는 파일에있는 명령어의 오프셋에 대해 읽고 있습니다. RVA와 VA는 일단 메모리에로드됩니다. 또한 PE 파일이 디스크에있는 것과 똑같이 메모리에로드 되었다면 RVA는 파일 오프셋과 같을 것이라고 읽었습니다 (그리고 그 일은 매우 드뭅니다)."상대 가상 주소", 무엇에 비례합니까?

의심의 여지가 있습니다 - 정상적인 상황에서 이러한 RVA의 상대적인 점은 무엇입니까? 해당 PE 데이터 구조의 시작?

편집 : PE 데이터 구조에 의해 나는 PE 헤더, DOS 헤더, DOS 스텁, PE 파일 헤더, 이미지 선택 헤더, 섹션 테이블 및 데이터 디렉토리를 의미합니다.

답변

10

RVA는 메모리에로드 된 후 이미지 기본 주소를 기준으로 한 주소입니다.

MS PE/COFF specification

는 말한다 :

상대 가상 주소. 이미지 파일에서 이미지 파일의 기본 주소를 빼고 메모리에로드 한 후 항목의 주소입니다. 항목의 RVA는 디스크상의 파일 (파일 포인터) 내의 위치와 거의 항상 다릅니다.