从x86 DLL获取导出的函数

时间:2015-05-11 08:42:21

标签: c# c++ visual-c++ dll x86

有没有办法从C#中的x86 DLL获取导出函数的列表?我知道可以反编译.NET DLL以提供类型/成员列表的Mono.Cecil,但是当我搜索x86 DLL时,搜索会出现空白。

我正在构建一个列出导出函数的“DLL explorer”工具,使我能够快速查看DLL并查看功能。

类似:

2 个答案:

答案 0 :(得分:1)

您可以尝试转换https://stackoverflow.com/a/4354755/613130。它是用C ++编写的,并使用了一些Windows API,但应该可以用C#重写它。

或者您可以捕获dumpbin /exports YourDll.dll

的输出 嗯......我看了一下,ImageHlp方法可能有点C# - 不友好......而且它们不兼容Unicode。 : - (

这里https://stackoverflow.com/a/1128453/613130还有另一种方法,似乎有点简单。

答案 1 :(得分:-1)

我建议看一下ILspy,这适用于反射检查程序集。

http://ilspy.net/

如果您使用的是Visual Studio,可以通过扩展管理器安装它...工具/扩展管理器/搜索ILspy

因为这是C#而不是C ++,与依赖漫步者不同,这不仅会向您显示界面,还会显示整个代码库。

更一般地,这里是反射如何工作的一个例子: https://msdn.microsoft.com/en-us/library/system.reflection.assembly(v=vs.110).aspx