首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以从DUMPBIN /SYMBOLS命令派生声明的函数吗?

可以从DUMPBIN /SYMBOLS命令派生声明的函数吗?
EN

Stack Overflow用户
提问于 2021-04-25 19:17:54
回答 1查看 40关注 0票数 0

您能从以下命令DUMPBIN /SYMBOLS命令的输出导出函数声明吗?我运行了以下命令:DUMPBIN /SYMBOLS libinfinityhook.lib,并从转储中获得以下信息:

IfhInitialize@@YAJP6AXIPEAPEAX@Z@Z (long __cdecl IfhInitialize(void (__cdecl*)(unsigned int,void * *)))

上述输出的函数声明是什么?也许如下所示:

代码语言:javascript
复制
NTSTATUS IfhInitialize(
_In_ INFINITYHOOKCALLBACK InfinityHookCallback);

假设以下类型为冒充者:

代码语言:javascript
复制
typedef void (__fastcall * INFINITYHOOKCALLBACK)(_In_ unsigned int SystemCallIndex, _Inout_ void** SystemCallFunction);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-26 11:34:42

Microsoft附带了一个名为undname.exe的实用程序,它将将大多数修饰的名称反转为未修饰的名称。

GNU拥有c++filt,它将对GCC的名字进行同样的处理。

LLVM具有llvm-cxxfilt的符号名解模器,它与GNU c++filt兼容,因为LLVM和GCC使用相同的名称损坏方案。

与此相关的是,Boost demangle允许从typeid name()中拆下符号名。请记住,typeid name()不是由C++标准决定的,而是编译器特定的。因此,它不是可移植的,也不适合跨平台序列化/反序列化。天哪。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67257340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档