2012-04-28 56 views
2

我想能夠編寫我自己的版本的依賴walker工具(我認爲這是一個學習東西的好方法)。 但是,由於PE文件(dll/exe),我沒有能夠知道的必要知識 - 它有什麼依賴性。Dependency Walker如何工作?

我將不勝感激提供給我這個知識的地方(教程/文章/文獻等)。

謝謝!

回答

2

這是直截了當的原則(僞代碼把我的頭頂部):

Create empty dependency list (list 1) 
Create empty list of references yet to be looked at (list 2) 
Add main module to list 2 
repeat 
    Select first module in list 2 
    Open the PE file 
    Parse header to find import section 
    Enumerate import modules 
    for each module imported 
    if not already in list 1, Add it 
    if not already in list 2, Add it 
    Remove from list 2 
until list 2 is empty. 
Result in list 1. 

要弄清楚如何真正分析一個PE的相關部分,你可以得到移植可執行規範關閉msdn.microsoft.com。