PE文件:常用知識點

1、數據目錄一共多少個表項?
十六個,但是最後一個爲保留。
2.爲什麼要重定位表?
因爲加載基址可能變化,並且在使用PE文件時,用的地址是VA,基址改變,VA也改變,所以需要重定位。
3.爲什麼脫殼後要修復導入表?
因爲殼在加載的時候,它修改了原PE文件的IAT,讓導入表指向了自建的導入表。
4.PE那些段可以壓縮?

5.函數轉發?
#pragma comment(liner,“dll”)
6.導入表需要兩個 IMAGE_THUNK_DATA 數組的原因?
函數在加載的時候,IAT被修正,裏面存放真實的函數地址。
7.如何判斷32還是64位?
可選頭的Magic。
PE文件頭的Machine
8.如何判斷PE文件是exe還是dll?
PE文件頭裏的屬性值Characteristic。
9.PE節的個數?
文件頭裏的NumberOfSections
10.如何判斷一個文件是否爲PE文件?
首先看MZ,然後看NT頭裏的PE。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章