Dependency Walker是 Microsoft Visual C++ 中提供的非常有用的 PE 模塊依賴性分析工具,它可以掃描任何32位或64位Windows模塊(exe,dll,ocx,sys等),并構(gòu)建所有相關(guān)模塊的分層樹狀圖。對于找到的每個模塊,它列出了該模塊導(dǎo)出的所有函數(shù),以及其中哪些函數(shù)實際上由其他模塊調(diào)用。另一個視圖顯示所需文件的最小集合,以及有關(guān)每個文件的詳細(xì)信息,包括文件的完整路徑,基本地址,版本號,機器類型,調(diào)試信息等。不僅如此,Depends反編譯工具還支持可以查看PE模塊的導(dǎo)入模塊以及導(dǎo)入和導(dǎo)出的函數(shù),還有動態(tài)剖析PE模塊的依賴性和解析C++的函數(shù)名稱。
軟件特色:
1、用戶可定義的模塊搜索路徑,支持“KnownDLL”和“App Paths”注冊表項。搜索路徑可以從圖形界面或命令行中保存和加載。
2、能夠?qū)⒛K會話保存到文本報告文件,以便在任何文本查看器中輕松查看。
3、能夠?qū)⒛K會話保存為逗號分隔值(CSV)文件,以便輕松導(dǎo)入其他應(yīng)用程序。
4、能夠?qū)⒄麄€模塊會話的快照保存到圖像文件,以后可以在任何計算機上通過Dependency Walker加載。
5、模塊分析以檢測動態(tài)依賴關(guān)系,子進程,線程活動和異常。子進程也可以針對其依賴關(guān)系進行分析。
6、能夠控制哪些文件擴展名Dependency Walker會將“View Dependencies”菜單項添加到資源管理器中的文件上下文菜單中。
7、添加熱鍵以幫助匹配導(dǎo)入與導(dǎo)出,列表視圖中的模塊以及樹視圖中的模塊。還添加了熱鍵來查找樹視圖中模塊的上一個,下一個或原始實例。
8、在模塊列表視圖中添加了一些新列。它們包括鏈接時間戳,鏈接校驗和,實時校驗和,符號,實際基準(zhǔn),虛擬大小和加載順序。
9、添加了一個OS信息對話框。這些信息也保存到文本和Dependency Walker圖像(DWI)文件中。
10、所有列表視圖現(xiàn)在可以通過圖標(biāo)排序,該圖標(biāo)提供了一種將相似類型的項目分組的簡單方法。
11、您現(xiàn)在只需輸入幾個字符即可在當(dāng)前排序的列中匹配,從而在所有列表視圖中搜索文本。
12、為模塊列表視圖和日志視圖添加了顏色編碼,以幫助突出顯示問題。
使用說明:
1. 雙擊depends.exe ,運行該程序。
2. 將可執(zhí)行文件拖到該窗口中。稍等片刻,出現(xiàn)depends 分析結(jié)果。
3. 左側(cè)的樹控件,顯示了該exe 包含哪些module(dll),下面的列表是可能用到的dll 總表。因為子dll又包含孫dll, 孫dll又包含... 總之dll 不超過這么多了。不過這個列表用途不大。
4.點擊樹形控件的子dll,在又測得兩個窗口中有相應(yīng)的信息。其中下面的窗口顯示的是該 dll 的導(dǎo)出信息。如ordinal,hint,funtion-name,entry-point 等,上面窗口為導(dǎo)入表列表 最后一下entry Point 往往寫著not found. 是因為hint 值與下面導(dǎo)出表的hint,function 不一致。不過這沒有關(guān)系。因為導(dǎo)入表hint 是用的鏈接時開發(fā)環(huán)境的dll, 而現(xiàn)在導(dǎo)出表是你系統(tǒng) 中正使用的dll, 不一致也正常,反正運行時是根據(jù)dll函數(shù)名稱進行定位的。