2015-05-25 26 views

回答

1

你可以得到最接近的是通过逆向工程(使用调试器)之前找到所需的内存大小调用一个构造函数,也许你可以找出哪些成员用于(以及继承和其他好处),但除了导出的函数外,绝对不会有正确的名称。它可能有用,但这是一项艰巨的任务。

+0

Dll中是否有导出类的符号?我可以使用一些API来通过符号获取导出类地址吗? – ZeroLiShu

+0

可能不是,并且绝对不是标准的必需功能。可以将这些数据包含在dll资源中,但这将是一个非常尴尬的共享定义方法。不要指望这样的东西可用。 – Amit

0
+0

谢谢,但我想在我的程序中使用导出类,而不仅仅是查看它们。 – ZeroLiShu

+0

这对您有帮助吗?这些工具中的任何一个都会暴露一个类的结构吗?成员或所需的内存分配是否会被贬低? – Amit

+0

好的,所以你想要的是对一个DLL进行逆向工程,我已经在过去做过,这一切都取决于如何创建DLL,所以没有单一的银弹,你可以看看http:// reverseengineering。 stackexchange.com/questions/2134/get-the-function-prototypes-from-an-unknown-dll –

0

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

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

  • .h文件中
  • 。 DLL文件
  • .bin文件

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

  • .DLL文件只

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

如果您有DLL,并且不知道它正在导出哪些类或函数 - 使用Dumpsbin和/ Exports选项可以知道所有导出的函数。

请让我知道我是否澄清你的

相关问题