首 頁
手機(jī)版

Dependency Walker綠色版 v2.2.6000官方版

PE模塊依賴性分析工具

  • 軟件大?。?38K
  • 軟件語言:英文
  • 軟件類型:國外軟件
  • 軟件授權(quán):免費(fèi)軟件
  • 更新時(shí)間:2024/11/14
  • 軟件類別:編程其它
  • 應(yīng)用平臺(tái):Windows11,Windows10,Windows8,Windows7
網(wǎng)友評分:8.5分
網(wǎng)友評論 下載地址 收藏該頁
本地下載

Dependency Walker是一款專業(yè)的軟件和程序依賴性分析工具,可以掃描任何32位或64位的Windows模塊,如exe,dll,ocx,sys等文件,并支持構(gòu)建所有相關(guān)模塊的分層樹形圖,可幫助用戶解決與加載和執(zhí)行模塊相關(guān)的系統(tǒng)錯(cuò)誤。

另外,Dependency Walker功能豐富多樣,主要功能如下:查看PE模塊的導(dǎo)入模塊;查看PE模塊的導(dǎo)入和導(dǎo)出函數(shù);動(dòng)態(tài)剖析 PE 模塊的模塊依賴性;解析C++函數(shù)名稱。有需要的朋友歡迎免費(fèi)下載使用。

ps:這里帶來的是Dependency Walker綠色版,此版本無需安裝,下載解壓后雙擊啟動(dòng)即可使用。

Dependency Walker

軟件特色

1、可以掃描任何32位或64位的Windows模塊(exe,dll,ocx,sys等)并構(gòu)建所有相關(guān)模塊的分層樹形圖。

2、對于解決與加載和執(zhí)行模塊相關(guān)的系統(tǒng)錯(cuò)誤非常有用。

3、可以在Windows 95、98、Me、NT、2000、XP、2003、Vista、7和8上運(yùn)行。

4、完全免費(fèi)使用。但是,您不得從其分銷中獲利,也不得將其與另一種產(chǎn)品捆綁銷售。

Dependency Walker使用方法

1、打開Dependency Walker,直接拖入目標(biāo)exe文件或者dll文件(也可以點(diǎn)擊菜單欄上的File,通過Open對話框來打開目標(biāo)文件),運(yùn)行界面如下:

圈選部分為TestDll.exe的依賴關(guān)系,它依賴MyDll.dll、MSVCP1400.DLL等,其各自又依賴其他DLL。

從中可以看出其依賴的深度較大,一般只需要查看最頂層的三次依賴即可。

2、單擊MyDll.dll,運(yùn)行界面如下:

3、界面右側(cè)的Function下的函數(shù)簽名不太清晰,可以右鍵函數(shù)名,選擇Undecorate C++ Functions,將函數(shù)簽名轉(zhuǎn)換成更為易讀的形式:

4、轉(zhuǎn)換后的形式如下:

上部的圈選部分是MyDll.dll的引用對象(也即TestDll.exe)使用的導(dǎo)出函數(shù),下部的圈選部分是MyDll.dll所有的導(dǎo)出函數(shù)。從圖中可以看出,MyDll提供了4個(gè)函數(shù)而TestDll只使用了其中的int Minus(int, int)和int Mutiply(int, int)。

另外,注意下其中的顏色標(biāo)識(shí), 上部的引用函數(shù),如果在動(dòng)態(tài)庫中存在,顯示為綠色;如果不存在顯示為紅色。下部的導(dǎo)出函數(shù),如果被引用,顯示成深藍(lán)色;如果未被引用,顯示成灰色。

5、函數(shù)缺失

如果將MyDll中的函數(shù)int Minus(int, int)刪除,重新生成MyDll.dll,然后再次查看TestDll.exe的依賴關(guān)系,顯示如下:

此時(shí),TestDll.exe引用的兩個(gè)函數(shù):int Minus(int, int)在MyDll.dll中已不存在,所有顯示成紅色;而int Multiply(int, int)依舊存在,顯示成綠色。這時(shí)運(yùn)行TestDll.exe,會(huì)報(bào)錯(cuò)顯示如下:

常見問題

1、Dependency Walker似乎只顯示了我的應(yīng)用程序的一些依賴項(xiàng)。為什么不全部顯示出來?

當(dāng)您第一次在Dependency Walker中打開一個(gè)模塊時(shí),它只顯示隱式、轉(zhuǎn)發(fā)和延遲加載依賴關(guān)系。許多依賴項(xiàng)是動(dòng)態(tài)加載的,直到您從Dependency Walker中分析應(yīng)用程序時(shí)才會(huì)被檢測到。如需詳細(xì)資訊,請參閱相依性Walker處理的相依性類型和使用應(yīng)用程式分析來偵測動(dòng)態(tài)相依性。

2、為什么我在很多應(yīng)用程序中看到MPR.DLL在SHLWAPI.DLL下以紅色顯示,因?yàn)樗鄙僖粋€(gè)名為WNetRestoreConnectionA的函數(shù)?我還收到一條“警告:由于延遲加載相關(guān)模塊中缺少導(dǎo)出函數(shù),至少有一個(gè)模塊有未解析的導(dǎo)入”消息。

SHLWAPI.DLL的某些版本(如Windows XP上的版本)對MPR.DLL的函數(shù)WNetRestoreConnectionA有延遲加載依賴。只要調(diào)用DLL準(zhǔn)備好處理這種情況,丟失延遲加載函數(shù)就不是問題。Dependency Walker標(biāo)記所有潛在的問題,因?yàn)樗鼰o法檢測應(yīng)用程序是否打算處理該問題。在SHLWAPI.DLL的情況下,這不是一個(gè)問題,因?yàn)樗灰骔NetRestoreConnectionA存在,并在運(yùn)行時(shí)處理缺失的函數(shù)。可以忽略此警告。有關(guān)更多詳細(xì)信息,請參見幫助中的“如何解釋Dependency Walker中的警告和錯(cuò)誤”部分。

3、為什么MSJAVA.DLL顯示為黃色(缺少模塊),而我得到一條“警告:至少有一個(gè)延遲加載依賴模塊沒有找到”的消息?

與Windows XP SP2和Windows 2003 SP1一起發(fā)布的MSHTML.DLL模塊具有對MSJAVA.DLL的延遲加載依賴性。只要調(diào)用DLL準(zhǔn)備好處理丟失的模塊,丟失延遲加載依賴項(xiàng)就不是問題。Dependency Walker標(biāo)記所有潛在的問題,因?yàn)樗鼰o法檢測應(yīng)用程序是否打算處理該問題。在這種特殊情況下,MSJAVA.DLL是一個(gè)可選模塊,MSHTML.DLL準(zhǔn)備處理它。可以忽略此警告。有關(guān)更多詳細(xì)信息,請參見幫助中的“如何解釋Dependency Walker中的警告和錯(cuò)誤”部分。

更新日志

v2.2.6000版本

- 移至新的HTML幫助系統(tǒng)并更新了幫助文本。

- 添加了對MSDN 8.0外部幫助的支持,并更新了在線幫助URL。

- 處理DLL清單和app.exe.local文件的改進(jìn)的并行支持。

- 更新了有關(guān)已知操作系統(tǒng)版本、內(nèi)部版本號(hào)和Vista RC1內(nèi)部版本標(biāo)志的內(nèi)部信息。

收起介紹展開介紹
  • 下載地址
Dependency Walker綠色版 v2.2.6000官方版

有問題? 點(diǎn)此報(bào)錯(cuò)

發(fā)表評論

0條評論