在VC ++中,有没有办法知道没有任何头文件的DLL的导出类?

时间:2015-05-25 06:32:38

标签: c++ visual-c++ dll export

如果C ++ Dll中有一些导出类,但我没有Dll共享头文件。所以我不知道这些出口类的定义,我唯一知道的是类名。有没有办法找到这些导出类并使用它们?

现在我只能使用GetProcAddress API来查找导出函数,是否有类似的API来查找导出类?

我使用VC ++ 2008编译器。

3 个答案:

答案 0 :(得分:1)

最接近的是通过逆向工程(使用调试器)在调用构造函数之前找到所需的内存大小,也许你可以弄清楚成员的用途(以及继承和其他好东西),但是除了导出的函数之外,你肯定没有正确的名称。它可能会奏效,但这是一项艰巨的任务。

答案 1 :(得分:0)

答案 2 :(得分:0)

从DLL导出函数有两种方法。 1)显式链接到DLL 2)隐式链接到DLL

1)如果要使用通过第一种方法创建的DLL 你需要

  • .h文件
  • .DLL文件
  • .bin文件

2)如果要使用通过第二种方法创建的DLL 你需要

  • 仅限.DLL文件

在第二种情况下,你需要 - 自己加载DLL - 自己计算功能地址 - > GetProcAddress的() - 自己卸载DLL

如果您有DLL,并且不知道它正在导出哪些类或函数 - 使用带有/ Exports选项的Dumpbin来了解所有导出的函数。

请告诉我是否澄清了你的dou