如何查看DLL函数?

sum*_*mit 116 windows dll

我有一个DLL文件.如何查看该DLL中的函数?

det*_*zed 67

对于本机代码,最好使用Dependency Walker.也可以使用Visual Studio附带的dumpbin命令行实用程序.

  • 对于较新版本的 VS,请尝试使用 DumpBin 作为[外部工具](/sf/ask/3183416771/#49669631)。 (3认同)
  • 维基百科上有一篇关于 Dependency Walker 的文章。显然该程序已经过时,并且无法与 Windows 的一些新功能一起使用,但有一个可用的替代品:https://github.com/lucasg/Dependencies (2认同)
  • `dumpbin /EXPORTS my.exe` 对我有用 (2认同)

Ken*_*n D 46

使用免费的DLL Export Viewer,它非常易于使用.

  • 这个工具不起作用 (9认同)
  • @sumit你可以更具体一点吗?这些工具多年来一直适用于我. (8认同)
  • 实际上这个工具很好用,简单明了,就是我需要的. (5认同)
  • 它是生成方法/函数列表的一个很好的工具,但它不显示方法的参数(也不显示它们的类型). (4认同)

小智 34

您可以在Visual Studio中尝试对象浏览器.

选择编辑自定义组件集.从那里,您可以从各种.NET,COM或项目库中进行选择,或者只需通过Browse导入外部dll.

  • 当使用Browse并选择DLL时,Visual Studio说"无法浏览所选组件":( - http://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=EN-US&k=k(VS.Message. ObjectBrowserErrors)RD =真 (14认同)
  • 对象浏览器已移至"查看".是的,它不起作用(为什么会这样,它是微软) (3认同)
  • @Kimmax是的,但user32.dll是本机Windows DLL而不是COM服务器.首先,只有COM服务器(例如COM dll,ActiveX控件,*.ocx ...)可能具有类型库,如果它们是编译的.对于本机(=非COM对象)DLL,这里提到的一些其他工具(dumpbin等人)可能有效.也就是说,如果DLL按名称导出它的功能而不是仅按顺序导出它. (2认同)

jmc*_*r9t 23

使用dumpbin命令行.

  • dumpbin /IMPORTS <path-to-file> 应该提供导入该DLL的函数.
  • dumpbin /EXPORTS <path-to-file> 应该提供它出口的功能.


Sha*_*yan 12

使用 JetBrains 的 dotPeek。

https://www.jetbrains.com/decompiler/

dotPeek 是一个基于 ReSharper 的免费工具。它可以可靠地将任何 .NET 程序集反编译为 C# 或 IL 代码。

  • 那么这是特定于使用 .NET 框架的 DLL 的吗? (2认同)

alt*_*ano 8

对于.NET DLL,您可以使用ildasm


Adr*_*der 6

在没有告诉我们这个dll /汇编是什么语言的情况下,我们只能猜测.

那么.NET Reflector呢?

  • 那应该是你的家伙. (2认同)