DLL/EXE查看工具Dumpbin

 

    一般情況下,我們需要查看一個DLL或EXE中的包含的函數或是依賴的函數之類的信息,可以使用VS自帶的工具dumpbin;

   可以直接在命令行下輸入dumpbin就可以查看他的使用說明,如果未顯示,可以先運行VS安裝目錄下的vcvarsall.bat來設置一下環境變量就可以了

 

DUMPBIN 選項

/ALL

顯示除代碼反彙編外的所有可用信息。使用 /DISASM 顯示反彙編。可以與 /ALL 一起使用 /RAWDATA :NONE 來省略文件的原始二進制詳細資料。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/ARCHIVEMEMBERS

顯示有關庫成員對象的最少信息。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/CLRHEADER file

此處: file/clr 生成的圖像文件。

備註

CLRHEADER 顯示有關在任何託管程序中使用的 .NET 頭的信息。輸出顯示 .NET 頭及其中各節的位置和大小(以字節計)。

File Format Spec.doc 描述 .NET 頭中的信息。NET SDK 將 File Format Spec.doc 安裝在 Tools Developers Guide 目錄中。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/DIRECTIVES

轉儲圖像中由編譯器生成的 .directive 節。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/DEPENDENTS

轉儲圖像從中導入函數的 DLL 的名稱。不要轉儲導入函數名。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/DISASM

顯示代碼段的反彙編,如果出現在文件中則使用符號。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/EXPORTS

顯示從可執行文件或 DLL 導出的所有定義。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/FPO

顯示框架指針優化 (FPO) 記錄。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/HEADERS

顯示文件頭和每節的頭。當用於庫時,顯示每個成員對象的頭。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/IMPORTS[:file ]

顯示導入到可執行文件或 DLL 的 DLL 列表(靜態鏈接的和延遲加載 )和上述每個 DLL 的各個導入。

可選 file 規範允許指定僅顯示某個 DLL 的導入。例如:

dumpbin /IMPORTS:msvcrt.dll

顯示的輸出與 /EXPORTS 輸出相似。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/LINENUMBERS

顯示 COFF 行號。如果對象文件是用程序數據庫 (/Zi)、C7 兼容 (/Z7) 或僅限行號 (/Zd) 編譯的,則它包含行號。如果可執行文件或 DLL 是與生成調試信息 (/DEBUG) 鏈接的,則它包含 COFF 行號。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/LINKERMEMBER[:{1|2}]

顯示庫中定義的公共符號。指定參數 1 將按對象順序顯示符號及其偏移量。指定參數 2 將顯示對象的偏移量和索引號,然後按字母順序列出這些符號及每個符號的對象索引。若要兩個輸出都獲得,指定不帶數字參數的 /LINKERMEMBER。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/LOADCONFIG

轉儲 IMAGE_LOAD_CONFIG_DIRECTORY 結構,此結構是由 Windows NT 加載程序使用並在 WINNT.H 中定義的可選結構。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/OUT:filename

指定輸出的 filename 。默認情 況下,DUMPBIN 將信息顯示到標準輸出。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/PDBPATH[:VERBOSE] filename

此處: filename 要爲其查找匹配 .pdb 文件的 .dll 或 .exe 文件名。

VERBOSE(可選)

報告曾嘗試在其中定位 .pdb 文件的所有目錄。

補充:

/PDBPATH 將沿調試器搜索 .pdb 文件的同一路徑搜索計算機,並將報告哪些 .pdb 文件(若有)和 filename 中指定的文件相對應。

使用 Visual Studio 調試器時可能會遇到問題,這是因爲調試器對調試文件的不同版本使用 .pdb 文件。

/PDBPATH 將沿下列路徑搜索 .pdb 文件:

  • 檢查可執行文件駐留的位置。
  • 檢查寫入可執行文件的 PDB 的位置。這通常是圖像被鏈接時的位置。
  • 沿 Visual Studio IDE 中配置的搜索路徑檢查。
  • 沿 _NT_SYMBOL_PATH 和 _NT_ALT_SYMBOL_PATH 環境變量中的路徑檢查。
  • 在 Windows 目錄中檢查。

/PDATA

僅用於 RISC 處理器。

此選項從圖像或對象轉儲異常表 (.pdata)。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/RAWDATA[:{1|2|4|8|NONE[, number ]]

此選項顯示文件中每節的原始內容。參數控制顯示格式,如下所示:

參數

結果

1

默認值。內容以十六進制字節顯 示,如果內容具有打印的表示形式,則還顯示爲 ASCII 字符。

2

內容顯示爲十六進制的 2 字節值。

4

內容顯示爲十六進制的 4 字節值。

8

內容顯示爲十六進制的 8 字節值。

NONE

取消顯示原始數據。此參數對控制 /ALL 輸出很有用。

Number

顯示的行被設置爲每行具有 number 個值的寬度。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/RELOCATIONS

此選項顯示對象或圖像中的任何重定位。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/SECTION:section

此選項限制與指定的 section 有關的信息的輸出。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/SUMMARY

此選項顯示有關節的最少信息(包括總大小)。如果未指定其他選項,則此選項爲默認值。

只有 /HEADERS DUMPBIN 選項可用於由 /GL 編譯器選項產生的文件。

/SYMBOLS

此選項顯示 COFF 符號表。符號表存在於所有對象文件中。而對於圖像文件,只有當它是與 /DEBUG 鏈接的時,它才包含 COFF 符號表。

可以通過查閱 winnt.h(IMAGE_SYMBOL 和 IMAGE_AUX_SYMBOL)或 COFF 文檔,可找到有關 /SYMBOLS 輸出含義的附加信息。

示例:
查看導出:


其中,這一部分爲我們重點需要的部分:

 

這個Add就是我們的DLL中導出的函數名,而且可以看出,我的DLL是使用標準調用的方式導出的.

 

查看導入:


可以看到我們的DLL中依賴的其他資源或是DLL中包含的函數,資源信息.

發佈了44 篇原創文章 · 獲贊 4 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章