有没有办法找到一个dll公开的所有函数

2021-12-17 00:00:00 dll c winapi c++

我一直在寻找一种方法来获取映射到 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!

相关文章