2011-05-14 37 views

回答

3

關鍵是每個Windows模塊(包括可執行文件和庫)都包含一個導入表,該表列出了所有依賴的其他模塊。該表由鏈接器構建,由操作系統在內部用於確定模塊的依賴關係並加載相應的庫。

因此,所有Dependency Walker所要做的就是遍歷所有這些模塊(形象地說,通過它們「行走」),建立在其各自導入表中指定的模塊的列表。

它確實不顯示所有的運行時間的依賴關係(如那些裝有GetProcAddress功能)的,因爲這些未在導入表列出。它只顯示加載時間(或靜態)依賴關係。

您可以找到有關Dependency Walker如何工作herehere的更多信息。

相關問題