2012年10月8日 星期一

Parsing import table 筆記

首先先來個畫得很清楚的excel圖 (別人做的, 用Excel把pe header畫得像packet, 很容易懂大小, 不過有些要根據offset 調整, 如他畫的pe header是0x80, 但是有可能是其他值)

由圖上可以看到import data (idata) 也是pe的其中一個section, 裡面有 offset 和size.

這篇由 matt pietrek 寫的 更深一步看win32 pe file format 裡有解釋import table 指到的位置 是一個IMAGE_IMPORT_DESCRIPTOR 的格式,

這篇我覺得是最實用的txt檔, 真希望我以後也可以把我要解釋的東西用txt 講的這麼清楚

The IMAGE_DATA_DIRECTORY struct consists of two fields:

DWORD VirtualAddress; // the RVA of the data structure
DWORD Size; // the size of the data structure
size 會是 20 *(import dll個數加1 ), 加1是因為最後一個會是全0, 20是IMAGE_IMPORT_DESCRIPTOR的大小. 
 
 

沒有留言: