Dependency Walker 是 Microsoft Visual C++ 中提供的非常有用的 PE 模塊依賴性分析工具。Dependency Walker 工具可以查看.exe文件,dll文件里調(diào)用那些dll文件,或是dll文件對(duì)外釋放的接口,dll文件的版本信息等
主要功能:
查看 PE 模塊的導(dǎo)入模塊。
查看 PE 模塊的導(dǎo)入和導(dǎo)出函數(shù)。
動(dòng)態(tài)剖析 PE 模塊的模塊依賴性。
解析 C++ 函數(shù)名稱。
使用Dependency Walker查看DLL文件:
1、打開DependencyWalker軟件
2、在左上角的“文件”菜單中找到“打開”按鈕,或者直接使用快捷鍵Ctrl+O打開。
3、在“打開”對(duì)話框中,找到一個(gè)DLL文件選中后,就可以查看此DLL文件的信息了。這里我們查看的是System32文件夾中的kernel32,這是操作系統(tǒng)中的一個(gè)比較重要的DLL文件。
4、在界面左上部分的樹狀圖中可以看到該DLL文件調(diào)用了哪些其他的文件中的內(nèi)容。單擊這些文件可以查看這些文件各自的導(dǎo)入與導(dǎo)出函數(shù)。
5、右上方一共有兩個(gè)部分,其中,PI是Parent Import Function List View的簡寫,E是Export Function List View的簡寫。通過這兩個(gè)部分,用戶可以觀察到該DLL文件從哪些其他文件中調(diào)用了函數(shù)(PI),又提供了哪些接口,讓其他的程序調(diào)用(E)。需要特別注意的是,DependencyWalker中提供的函數(shù)名是C語言可以調(diào)用的函數(shù)名。
6、中下側(cè)模塊中的內(nèi)容與左上方的樹狀圖是對(duì)應(yīng)的。該模塊詳細(xì)描述了要這次檢查的DLL文件所調(diào)用的其他文件詳細(xì)信息。
7、最下側(cè)的模塊是信息模塊,如果DependencyWalker在解析某個(gè)DLL文件時(shí)出錯(cuò),錯(cuò)誤信息會(huì)顯示在該模塊中。就如下圖打開的一個(gè)帶有錯(cuò)誤的DLL文件。
8、在左上方的“文件”菜單內(nèi)可以“保存”或“另存為”本次對(duì)DLL文件的解析結(jié)果。
在保存或另存為界面中,可以將解析結(jié)果保存到DWI格式的文件。保存成此類的文件可以直接用DependencyWalker快速識(shí)別并打開。
9、到這里DependencyWalker的主要功能就介紹完畢了。下面再介紹兩個(gè)該軟件實(shí)用的附加功能。在上方“查看”菜單中的“系統(tǒng)信息”中可以看到自己當(dāng)前的系統(tǒng)信息。
10、在上方“查看”菜單中的“屬性”中可以看到當(dāng)前被解析DLL文件的屬性。