【发布时间】:2010-10-10 23:04:52
【问题描述】:
我有一个 DLL 文件,其中包含一些我想在我的应用程序中调用的有用函数。我没有它的文档了。
我如何发现 DLL 导出的函数及其方法签名?
有没有列出函数及其参数的实用程序?
【问题讨论】:
我有一个 DLL 文件,其中包含一些我想在我的应用程序中调用的有用函数。我没有它的文档了。
我如何发现 DLL 导出的函数及其方法签名?
有没有列出函数及其参数的实用程序?
【问题讨论】:
Windows SDK 曾经包含 dependency walker GUI 实用程序,可用于探索 DLL 内容:
Dependency Walker 是一款免费实用程序,可扫描任何 32 位或 64 位 Windows 模块(exe、dll、ocx、sys 等)并构建所有依赖模块的层次树图。对于找到的每个模块,它会列出该模块导出的所有函数,以及其中哪些函数实际上被其他模块调用。另一个视图显示最少的所需文件集,以及每个文件的详细信息,包括文件的完整路径、基地址、版本号、机器类型、调试信息等。
有关方法签名详细信息和创建互连.NET 代码,请在pinvoke site 中查找您的DLL。您还可以尝试他们的 Visual Studio 2003 和 2005 插件。
【讨论】:
垃圾箱/出口
(Dumpbin[1] 是 Windows SDK 中的实用程序)
[1]:http://msdn.microsoft.com/en-us/library/aa446532.aspx
编辑:顺便说一句,我在标签中看到“互操作”和“.NET”,不要忘记反射器和pinvoke.net。 (当然,这些对于实际的 Win32 DLL 导出都没有帮助。)
【讨论】: