RVA: (Relative Virtual Address 簡稱RVA),RVA隻是記憶體中的一個簡單的相對于PE檔案裝入位址的偏移位置,或稱為偏移量。
VA:在PE用語裡,實際的記憶體位址被稱作虛拟位址(Virtual Address )簡稱VA。
虛拟位址 VA =裝入位址(Imagebase) + 相對虛拟位址(RVA)
RVA和VA都是在虛拟記憶體位址的範圍内讨論的。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLxsGVOdXWU5EeRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzATO5EjM1ATM4ADNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
File Offset:當PE檔案存儲在磁盤上時,某個資料的位置相對于檔案頭的偏移量,稱為檔案位址。
File Offset = VA - ImageBase – VRk (VRk為RVA同File Offset的一個內插補點)
VRk=RVA-File Offset
圖中的RVA可以不是1000的整數倍,檔案偏移也不必是200的整數倍。
由上圖可知, VRk=RVA-File Offset=1000-400=600
計算
(1) VA=401000 File Offset=?
(2) RVA=1100 File Osset=?
(3) File Offset=462 RVA=? VA=?
File Offset = VA - ImageBase – VRk
答案:(1)400
(2)500
(3)1062;401062