我有一个1998年编写的C++动态链接库,我想要查看成员(属性、字段、方法、构造函数等)。我的理解是,编写DLL的公司不再是关于它的,但它仍然在使用。
如果我只有DLL,这是可能的吗?或者您只需要知道DLL中的内容才能使用它。如果可能的话,我该怎么做呢?
我希望通过P/Invoke使用.Net的动态链接库。
发布于 2012-12-11 22:53:48
获取这个:http://www.dependencywalker.com/,使用depends.exe
打开DLL,然后激活“视图”菜单中的“取消修饰C++函数”。我主要使用它来查找依赖项,但它也公开了DLL的入口点。
这不是错误的证明,因为公开类的DLL不必导出它的方法。例如,纯虚方法布局足够统一,您可以使用工厂函数将实例公开为接口指针。但这可能会解决你的问题。
无论如何,您都需要一个依赖项遍历的副本。:)
发布于 2012-12-11 22:50:08
您可以使用像IDA这样的工具来分解二进制文件,并尝试识别函数名称,但这可能很困难。为什么只有DLL?从关联库的导出表或者更好的头文件中获取信息会容易得多。
发布于 2017-06-29 14:07:22
你可以使用VS命令提示符一个简单的命令是:
dumpbin /exports <nameofdll>
https://stackoverflow.com/questions/13822156
复制相似问题