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公开的所有函数


基础教程推荐
- 使用从字符串中提取的参数调用函数 2022-01-01
- 如何在不破坏 vtbl 的情况下做相当于 memset(this, ...) 的操作? 2022-01-01
- 从 std::cin 读取密码 2021-01-01
- 如何使图像调整大小以在 Qt 中缩放? 2021-01-01
- 为 C/C++ 中的项目的 makefile 生成依赖项 2022-01-01
- Windows Media Foundation 录制音频 2021-01-01
- 如何“在 Finder 中显示"或“在资源管理器中显 2021-01-01
- 在 C++ 中循环遍历所有 Lua 全局变量 2021-01-01
- 管理共享内存应该分配多少内存?(助推) 2022-12-07
- 为什么语句不能出现在命名空间范围内? 2021-01-01