如果C ++ Dll中有一些导出类,但我没有Dll共享头文件。所以我不知道这些出口类的定义,我唯一知道的是类名。有没有办法找到这些导出类并使用它们?
现在我只能使用GetProcAddress API来查找导出函数,是否有类似的API来查找导出类?
我使用VC ++ 2008编译器。
答案 0 :(得分:1)
最接近的是通过逆向工程(使用调试器)在调用构造函数之前找到所需的内存大小,也许你可以弄清楚成员的用途(以及继承和其他好东西),但是除了导出的函数之外,你肯定没有正确的名称。它可能会奏效,但这是一项艰巨的任务。
答案 1 :(得分:0)
您可以使用各种工具
1. http://www.dependencywalker.com
2. http://www.nirsoft.net/utils/dll_export_viewer.html
3. http://www.heaventools.com/PE_Explorer_syntax_lookup.htm
答案 2 :(得分:0)
从DLL导出函数有两种方法。 1)显式链接到DLL 2)隐式链接到DLL
1)如果要使用通过第一种方法创建的DLL 你需要
2)如果要使用通过第二种方法创建的DLL 你需要
在第二种情况下,你需要 - 自己加载DLL - 自己计算功能地址 - > GetProcAddress的() - 自己卸载DLL
如果您有DLL,并且不知道它正在导出哪些类或函数 - 使用带有/ Exports选项的Dumpbin来了解所有导出的函数。
请告诉我是否澄清了你的dou