怎么查看dll里面的函数,怎么用dumpbin查看dll
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么查看dll里面的函数,怎么用dumpbin查看dll相关的知识,希望对你有一定的参考价值。
主要工具有三个1、VC自带的 dumpbin,用法如:dumpbin /exports mspft80.dll2、可以depends来查看依赖项3、可以用IDA反汇编工具来查看,加载你需要的dll,按F5就可以查看函数反汇编成C语言的代码了注:以上方法也可以用来查看exe中的函数原型 参考技术A 接着,我们输入命令 dumpbin -export dll名如下图,所示,函数名出来了。。。
2
还有其他命令,可以参考help,这样就可以了。
还有另外一种方式是用软件查看的。
Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)
Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去。这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要。很久以前写过一篇关于Qt程序安装包制作的博客,里面介绍了Dependency Walker这个小工具。但是实际操作起来并不理想,因为Dependency Walker将exe文件依赖的所有动态库以及动态库所依赖的动态库都列出来了。看得你一脸懵逼:
你很难分清楚:倒底哪些DLL是需要打包的,哪些DLL是系统自带的。而作为打包过程中的一个小步骤,我根本不需要知道这么多信息。这个时候,我们需要一个更加简洁明了的工具。dumpbin就是今天要介绍的主角。
二、使用
dumpbin是随Visual Studio一起发布的,在Visual Studio的“本机工具命令行”中就可以直接使用。使用的第一步就是打开Visual Studio的“本机工具命令行”:
这里我选择的是“VS2015 X64本机工具命令提示符”。命令行窗口打开后直接进入到工程目录,输入命令“dumpbin /IMPORTS ReplaceAETemplate.exe > output.txt”:
Duang~~~,所有依赖的DLL项都保存到output.txt里面去了。打开瞧瞧输出内容:
依赖的动态库一项项的非常清晰明了。当然,里面也会列出一些系统的动态库。这些系统动态库在系统安装时就有了,所以不用打包进去。当然就算打包进去也不会有什么害处。这个命令再配合everything这个小工具查找依赖的DLL,简直不要太爽:
三、小结
dumpbin的IMPORTS参数是用来查看程序依赖的其他动态库的,这对于可执行程序exe和动态链接库DLL都是适用的。EXPORTS则适用于DLL查看其导出的函数接口:
结果照样重定位到output.txt中去了。这是因为如果直接在命令行中输出,前面的内容可能会被截断,导致内容看不完整。
从上面红框中可以看出,UniversalBlender.dll这个动态链接库导出了这么一些函数:capabilityAssessment, initializeDevice, runImageBlender等。
http://www.cnblogs.com/csuftzzk/p/windows_application_distribution.html
以上是关于怎么查看dll里面的函数,怎么用dumpbin查看dll的主要内容,如果未能解决你的问题,请参考以下文章
工具:dumpbin.exe : COFF DLL 动态库依赖库 :VS工具
Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)