我一直在寻找一种方法来获取映射到 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公开的所有函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
当没有异常时,C++ 异常会以何种方式减慢代码速In what ways do C++ exceptions slow down code when there are no exceptions thown?(当没有异常时,C++ 异常会以何种方式减慢代码速度?)
为什么要捕获异常作为对 const 的引用?Why catch an exception as reference-to-const?(为什么要捕获异常作为对 const 的引用?)
我应该何时以及如何使用异常处理?When and how should I use exception handling?(我应该何时以及如何使用异常处理?)
C++中异常对象的范围Scope of exception object in C++(C++中异常对象的范围)
从构造函数的初始化列表中捕获异常Catching exceptions from a constructor#39;s initializer list(从构造函数的初始化列表中捕获异常)
C++03 throw() 说明符 C++11 noexcept 之间的区别Difference between C++03 throw() specifier C++11 noexcept(C++03 throw() 说明符 C++11 noexcept 之间的区别)