命令:dumpbin -exports Cmpnt1.dll
如:
C:\WINDOWS\system32>dumpbin -exports msgsvc.dll
Microsoft (R) COFF Binary File Dumper Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
Dump of file msgsvc.dll
File Type: DLL
Section contains the following exports for msgsvc.dll
0 characteristics
41107F60 time date stamp Wed Aug 04 14:17:04 2004
0.00 version
1 ordinal base
2 number of functions
2 number of names
ordinal hint RVA name
1 0 00004ABF ServiceMain
2 1 00004595 SvchostPushServiceGlobals
Summary
1000 .data
1000 .reloc
1000 .rsrc
8000 .text
C:\>dumpbin
Microsoft (R) COFF Binary File Dumper Version 6.00.844
Copyright (C) Microsoft Corp 1992-1998. All rights res
usage: DUMPBIN [options] [files]
options:
/ALL
/ARCH
/ARCHIVEMEMBERS
/DEPENDENTS
/DIRECTIVES
/DISASM
/EXPORTS
/FPO
/HEADERS
/IMPORTS
/LINENUMBERS
/LINKERMEMBER[:{1|2}]
/LOADCONFIG
/OUT:filename
/PDATA
/RAWDATA[:{NONE|BYTES|SHORTS|LONGS}[,#]]
/RELOCATIONS
/SECTION:name
/SUMMARY
/SYMBOLS
若要運(yùn)行 DUMPBIN,請(qǐng)使用下列語(yǔ)法:
DUMPBIN [options] files...指定一個(gè)或多個(gè)二進(jìn)制文件,以及控制信息所需的任何選項(xiàng)。DUMPBIN 將該信息顯示到標(biāo)準(zhǔn)輸出??梢詫⑤敵鲋囟ㄏ虻轿募?,或者使用 /OUT 選項(xiàng)為輸出指定文件名。
當(dāng)在文件上運(yùn)行 DUMPBIN 但未指定選項(xiàng)時(shí),DUMPBIN 顯示 /SUMMARY 輸出。
當(dāng)鍵入命令
dumpbin
但沒有任何其他命令行輸入時(shí),DUMPBIN 顯示匯總其選項(xiàng)的用法語(yǔ)句。/ALL此選項(xiàng)顯示除代碼反匯編外的所有可用信息。使用 /DISASM 顯示反匯編??梢耘c /ALL 一起使用 /RAWDATA:NONE 來(lái)省略文件的原始二進(jìn)制詳細(xì)資料。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/ARCHIVEMEMBERS此選項(xiàng)顯示有關(guān)庫(kù)成員對(duì)象的最少信息。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/CLRHEADER file此處:
- file
- 用 /clr 生成的圖像文件。
備注
CLRHEADER 顯示有關(guān)在任何托管程序中使用的 .NET 頭的信息。輸出顯示 .NET 頭及其中各節(jié)的位置和大小(以字節(jié)計(jì))。
File Format Spec.doc 描述 .NET 頭中的信息。NET SDK 將 File Format Spec.doc 安裝在 Tools Developers Guide 目錄中。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/DIRECTIVES此選項(xiàng)轉(zhuǎn)儲(chǔ)圖像中由編譯器生成的 .directive 節(jié)。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/DEPENDENTS轉(zhuǎn)儲(chǔ)圖像從中導(dǎo)入函數(shù)的 DLL 的名稱。不要轉(zhuǎn)儲(chǔ)導(dǎo)入函數(shù)名。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/DISASM此選項(xiàng)顯示代碼段的反匯編,如果出現(xiàn)在文件中則使用符號(hào)。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/EXPORTS此選項(xiàng)顯示從可執(zhí)行文件或 DLL 導(dǎo)出的所有定義。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/FPO此選項(xiàng)顯示框架指針優(yōu)化 (FPO) 記錄。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/HEADERS此選項(xiàng)顯示文件頭和每節(jié)的頭。當(dāng)用于庫(kù)時(shí),顯示每個(gè)成員對(duì)象的頭。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/IMPORTS[:file]此選項(xiàng)顯示導(dǎo)入到可執(zhí)行文件或 DLL 的 DLL 列表(靜態(tài)鏈接的和延遲加載)和上述每個(gè) DLL 的各個(gè)導(dǎo)入。
可選 file 規(guī)范允許指定僅顯示某個(gè) DLL 的導(dǎo)入。例如:
dumpbin /IMPORTS:msvcrt.dll此選項(xiàng)顯示的輸出與 /EXPORTS 輸出相似。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/LINENUMBERS此選項(xiàng)顯示 COFF 行號(hào)。如果對(duì)象文件是用程序數(shù)據(jù)庫(kù) (/Zi)、C7 兼容 (/Z7) 或僅限行號(hào) (/Zd) 編譯的,則它包含行號(hào)。如果可執(zhí)行文件或 DLL 是與生成調(diào)試信息 (/DEBUG) 鏈接的,則它包含 COFF 行號(hào)。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/LINKERMEMBER[:{1|2}]此選項(xiàng)顯示庫(kù)中定義的公共符號(hào)。指定參數(shù) 1 將按對(duì)象順序顯示符號(hào)及其偏移量。指定參數(shù) 2 將顯示對(duì)象的偏移量和索引號(hào),然后按字母順序列出這些符號(hào)及每個(gè)符號(hào)的對(duì)象索引。若要兩個(gè)輸出都獲得,指定不帶數(shù)字參數(shù)的 /LINKERMEMBER。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/LOADCONFIG此選項(xiàng)轉(zhuǎn)儲(chǔ) IMAGE_LOAD_CONFIG_DIRECTORY 結(jié)構(gòu),此結(jié)構(gòu)是由 Windows NT 加載程序使用并在 WINNT.H 中定義的可選結(jié)構(gòu)。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/OUT:filename此選項(xiàng)指定輸出的 filename。默認(rèn)情況下,DUMPBIN 將信息顯示到標(biāo)準(zhǔn)輸出。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/PDBPATH[:VERBOSE] filename此處:
- filename
- 要為其查找匹配 .pdb 文件的 .dll 或 .exe 文件名。
- VERBOSE(可選)
- 報(bào)告曾嘗試在其中定位 .pdb 文件的所有目錄。
備注
/PDBPATH 將沿調(diào)試器搜索 .pdb 文件的同一路徑搜索計(jì)算機(jī),并將報(bào)告哪些 .pdb 文件(若有)和 filename 中指定的文件相對(duì)應(yīng)。
使用 Visual Studio 調(diào)試器時(shí)可能會(huì)遇到問(wèn)題,這是因?yàn)檎{(diào)試器對(duì)調(diào)試文件的不同版本使用 .pdb 文件。
/PDBPATH 將沿下列路徑搜索 .pdb 文件:
- 檢查可執(zhí)行文件駐留的位置。
- 檢查寫入可執(zhí)行文件的 PDB 的位置。這通常是圖像被鏈接時(shí)的位置。
- 沿 Visual Studio IDE 中配置的搜索路徑檢查。
- 沿 _NT_SYMBOL_PATH 和 _NT_ALT_SYMBOL_PATH 環(huán)境變量中的路徑檢查。
- 在 Windows 目錄中檢查。
/PDATA僅用于 RISC 處理器。
此選項(xiàng)從圖像或?qū)ο筠D(zhuǎn)儲(chǔ)異常表 (.pdata)。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/RAWDATA[:{1|2|4|8|NONE[,number]]此選項(xiàng)顯示文件中每節(jié)的原始內(nèi)容。參數(shù)控制顯示格式,如下所示:
參數(shù) 結(jié)果 1 默認(rèn)值。內(nèi)容以十六進(jìn)制字節(jié)顯示,如果內(nèi)容具有打印的表示形式,則還顯示為 ASCII 字符。 2 內(nèi)容顯示為十六進(jìn)制的 2 字節(jié)值。 4 內(nèi)容顯示為十六進(jìn)制的 4 字節(jié)值。 8 內(nèi)容顯示為十六進(jìn)制的 8 字節(jié)值。 NONE 取消顯示原始數(shù)據(jù)。此參數(shù)對(duì)控制 /ALL 輸出很有用。 Number 顯示的行被設(shè)置為每行具有 number 個(gè)值的寬度。 只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/RELOCATIONS此選項(xiàng)顯示對(duì)象或圖像中的任何重定位。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/SECTION:section此選項(xiàng)限制與指定的 section 有關(guān)的信息的輸出。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/SUMMARY此選項(xiàng)顯示有關(guān)節(jié)的最少信息(包括總大?。?。如果未指定其他選項(xiàng),則此選項(xiàng)為默認(rèn)值。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/SYMBOLS此選項(xiàng)顯示 COFF 符號(hào)表。符號(hào)表存在于所有對(duì)象文件中。而對(duì)于圖像文件,只有當(dāng)它是與 /DEBUG 鏈接的時(shí),它才包含 COFF 符號(hào)表。
下面是關(guān)于 /SYMBOLS 輸出的說(shuō)明。通過(guò)查閱 winnt.h(IMAGE_SYMBOL 和 IMAGE_AUX_SYMBOL)或 COFF 文檔,可找到有關(guān) /SYMBOLS 輸出含義的附加信息。
假設(shè)有下列示例轉(zhuǎn)儲(chǔ):
Dump of file main.obj File Type: COFF OBJECT COFF SYMBOL TABLE 000 00000000 DEBUG notype Filename | .file main.cpp 002 000B1FDB ABS notype Static | @comp.id 003 00000000 SECT1 notype Static | .drectve Section length 26, #relocs 0, #linenums 0, checksum 722C964F 005 00000000 SECT2 notype Static | .text Section length 23, #relocs 1, #linenums 0, checksum 459FF65F, selection 1 (pick no duplicates) 007 00000000 SECT2 notype () External | _main 008 00000000 UNDEF notype () External | ?MyDump@@YAXXZ (void __cdecl MyDump(void)) String Table Size = 0x10 bytes Summary 26 .drectve 23 .text對(duì)于以符號(hào)號(hào)碼開頭的行,下列說(shuō)明描述了含有與用戶相關(guān)的信息的列:
- 開頭的 3 位數(shù)字是符號(hào)索引/號(hào)碼。
- 如果第三列包含 SECTx,則符號(hào)在對(duì)象文件的那一節(jié)中定義。但如果出現(xiàn) UNDEF,則它不在那個(gè)對(duì)象中定義并且必須在其他地方被解析。
- 第五列 (Static, External) 說(shuō)明符號(hào)是否只在那個(gè)對(duì)象的內(nèi)部可見,或者是否是公共的(外部可見)。靜態(tài)符號(hào) _sym 不會(huì)鏈接到公共符號(hào) _sym;這些符號(hào)是名為 _sym 的函數(shù)的兩種不同實(shí)例。
編號(hào)行中的最后一列是符號(hào)名(修飾名和未修飾名)。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。
/UNWINDINFO在程序圖像(例如 exe 和 dll)中轉(zhuǎn)儲(chǔ)結(jié)構(gòu)化異常處理 (SEH) 表的展開描述符。/UNWINDINFO 僅適用于 IA64 圖像。
只有 /HEADERS DUMPBIN 選項(xiàng)可用于由 /GL 編譯器選項(xiàng)產(chǎn)生的文件。