美文网首页
Dumpbin查看的dll/lib导出函数,不能重定向到文件问题

Dumpbin查看的dll/lib导出函数,不能重定向到文件问题

作者: 李里里Riss | 来源:发表于2017-03-21 12:47 被阅读0次

    Dumpbin.exe 是vs官方自动的查看dll、lib导出函数的利器。

    找到dumpbin.exe

    下面是我电脑中的位置:

    不同平台下的dumpbin
    需要同目录下 link.exe文件才能运行。

    Dumpbin用法

    语法:
    DUMPBIN [options] files...

    cmd控制台 cd到dumpbin.exe目录。可以将输出重定向到文件,或者使用 /OUT 选项为输出指定文件名。

    dumpbin.exe /[option] filePath /[option]  或
    dumpbin.exe -[option] filePath -[option]
    //输出内容到文本文件
    dumpbin.exe -[option] filePath>filePath
    dumpbin.exe -[option] filePath /out:>filePath
    

    options

    /ALL
    /ARCH
    /ARCHIVEMEMBERS
    /DEPENDENTS
    /DIRECTIVES
    /DISASM
    /EXPORTS
    /FPO
    /HEADERS
    /IMPORTS
    /LINENUMBERS
    /LINKERMEMBER
    /LOADCONFIG
    /OUT:filename
    /PDATA
    /RAWDATA
    /RELOCATIONS
    /SECTION:name
    /SUMMARY
    /SYMBOLS
    

    选项很多,可以查看反编译等信息,这里我只用它的查看导出函数功能,就是/exports

    举个栗子:

    dumpbin.exe  -exports a.dll
    

    控制台将输出a.dll的导出函数列表

     dumpbin.exe  -exports a.dll>1.txt
    

    控制台命名立即返回,生成1.txt文本文件

    如何在自己的程序中使用dumpbin

    有时我们需要获取某个lib和dll的导出函数,可用采用dumbin.exe输出到文件的方法。
    启动外部程序的方法有很多种,有

    system(const char * _Command)
    WinExec(LPCSTR lpCmdLine,UINT uCmdShow)
    CreateProcess(...)
    

    调用上面的函数执行即可。

    PS:命令行只有用/out才能输出文本文件,> 并不能输出文件。

    附件选项详细说明:

    (1)、/ALL :此选项显示除代码反汇编外的所有可用信息。使用/DISASM显示反汇编。可以与/ALL一起使用/RAWDATA:NONE来省略文件的原始二进制详细资料。
    
    (2)、/ARCHIVEMEMBERS:此选项显示有关库成员对象的最少信息。 
    
    (3)、/CLRHEADER  file:其中file为用/clr生成的图像文件。CLRHEADER显示有关在任何托管程序中使用的.net头的信息。输出显示.net头及其中各节的位置和大小(以字节计算)。
    
    (3)、/DIRECTIVES:此选项转储图像中由编译器生成的.directive节。
    
    (4)、/DEPENDENTS:转储图像从中导入函数的DLL的名称。不要转储导入函数名。
    
    (5)、/DISASM:此选项显示代码段的反汇编,如果出现在文件中则使用符号。
    
    (6)、/EXPORTS:此选项显示从可执行文件或DLL导出的所有定义。
    
    (7)、/FPO:此选项显示框架指针优化(FPO)记录。
    
    (8)、/HEADERS:此选项显示文件头和每节的头。当用于库时,显示每个成员对象的头。
    
    (9)、/IMPORTS[:file]:此选项显示导入到可执行文件或DLL的DLL列表(静态链接的和延迟加载)和上述每个DLL的各个导入。可选file规范允许指定仅显示某个DLL的导入。
    
    (10)、/LINENUMBERS:此选项显示COFF行号。如果对象文件是用程序数据库(/Zi)、C7兼容(/Z7)或仅限行号(/Zd)编译的,则它包含行号。如果可执行文件或DLL是与生成调试信息(/DEBUG)链接的,则它包含COFF行号。
    
    (11)、/LINKERMEMBER[:{1|2}]:此选项显示库中定义的公共符号。指定参数1将按对象顺序显示符号及其偏移量。指定参数2将显示对象的偏移量和索引号,然后按字母顺序列车这些符号及每个符号的对象索引。若要两个输出都获得,指定不带数字参数的/LINKERMEMBER。
    
    (12)、/LOADCOMFIG:此选项转储IMAGE_LOAD_CONFIG_DIRECTORY结构,此结构是由WindowsNT加载程序使用并在WIINNT.H中定义的可选结构。
    
    (13)、/OUT:filename:此选项指定输出的filename。默认情况下,DUMPBIN将信息显示到标准输出。
    
    (14)、/PDBPATH[:VERBOSE]filename:filename为要为其查找匹配.pdb文件的.dll或.exe文件名。VERBOSE(可选)为报告曾尝试在其中定位.pdb文件的所有目录。/PDBPATH将沿调试器搜索.pdb文件的同一路径搜索计算机,并将报告那些.pdb文件(若有)和filename中指定的文件相对应。
    
    (15)、/RAWDATA[:{1|2|4|8|NONE}[,number]]:此选项显示文件中每节的原始内容。参数说明:1,默认值,内容以十六进制字节显示,如果内容具有打印的表示形式,则还显示为ASCII字符;2,内容显示为十六进制的2字节值;4,内容显示为十六进制的恶4字节值;8,内容显示为十六进制的8字节值;NONE,取消显示原始数据,此参数对控制/ALL输出很有用;number,显示的行被设置为每行具有number个值的宽度。
    
    (16)、/RELOCATIONS:此选项显示对象或图像中的任何重定位。
        
    (17)、/SECTION:section:此选项限制与指定的section有关的信息的输出。
    
    (18)、/SUMMARY:此选项显示有关节的最少信息(包括总大小)。如果未指定其它选项,则此选项为默认值。
    
    (19)、/SYMBOLS:此选项显示COFF符号表。符号表存在于所有对象文件中。而对于图像文件,只有当它是与/DEBUG链接时,它才包含COFF符号表。
    
    (20)、/UNWINDINFO:在程序图像(例如exe和dll)中转储结构化异常处理(SHE)表的展开描述符。/UNWINDINFO仅适用于IA64图像。
    

    相关文章

      网友评论

          本文标题:Dumpbin查看的dll/lib导出函数,不能重定向到文件问题

          本文链接:https://www.haomeiwen.com/subject/rdownttx.html