1. 程式人生 > >PE檔案與記憶體中的地址對映關係

PE檔案與記憶體中的地址對映關係

PE檔案與(虛擬)記憶體中的地址對映

  1. 檔案偏移地址

    PE檔案中的資料的地址,就是在檔案內部的地址,也可以理解成在檔案系統中相對於檔案頭的偏移地址。在PE檔案內部,資料是按資料節存放的,但每一個數據節都是0x200位元組的倍數,不足的用0x00補齊。

  2. 裝載地址(Image Base)

    PE檔案裝入記憶體時的基礎地址,一般exe檔案在記憶體中的基址是0x00400000,dll檔案時0x10000000。

  3. 虛擬記憶體地址(VA)

    PE檔案中的指令被裝入記憶體後的地址。

  4. 相對虛擬地址(RVA)

    記憶體地址相對於對映基址(即裝載地址)的偏移量。在裝入記憶體之後,將按照記憶體資料標準存放,每一個數據節都是0x1000位元組的倍數,不足的用0x00補齊。

  5. 節偏移

    定義節偏移=RVA-檔案偏移

滿足下面公式:

VA=Image Base+RVA