Is there a way to find all the functions exposed by a dll(有没有办法找到一个dll公开的所有函数)
问题描述
我一直在寻找一种方法来获取映射到 dll 中函数名称的所有字符串.
I've been searching for a way to get all the strings that map to function names in a dll.
我的意思是您可以调用 GetProcAddress 的所有字符串.如果你对 dll 进行十六进制转储,符号(字符串)就在那里,但我认为必须有一个系统调用来获取这些名称.
I mean by this all the strings for which you can call GetProcAddress. If you do a hex dump of a dll the symbols (strings) are there but I figure there must me a system call to acquire those names.
推荐答案
这需要一些工作,但您可以使用 DbgHelp 来自 Microsoft 的库.
It takes a bit of work, but you can do this programmaticly using the DbgHelp library from Microsoft.
Microsoft .Net 和 Microsoft Windows 的调试应用程序,作者:John Robbins 是一本优秀的(如果有点旧)书,其中包含使用详细信息和完整源代码.而且,你可以在亚马逊上以便宜的价格买到它!
Debugging Applications for Microsoft .Net and Microsoft Windows, by John Robbins is an excellent (if a little older) book which contains use details and full source. And, you can pick it up on Amazon for the cheap!
这篇关于有没有办法找到一个dll公开的所有函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:有没有办法找到一个dll公开的所有函数
基础教程推荐
- 如何通过C程序打开命令提示符Cmd 2022-12-09
- 如何将 std::pair 的排序 std::list 转换为 std::map 2022-01-01
- C++结构和函数声明。为什么它不能编译? 2022-11-07
- 我有静态或动态 boost 库吗? 2021-01-01
- 常量变量在标题中不起作用 2021-01-01
- 在 C++ 中计算滚动/移动平均值 2021-01-01
- 如何检查GTK+3.0中的小部件类型? 2022-11-30
- 这个宏可以转换成函数吗? 2022-01-01
- 静态库、静态链接动态库和动态链接动态库的 .lib 文件里面是什么? 2021-01-01
- 如何在 C++ 中初始化静态常量成员? 2022-01-01
