WinAPI 从函数的地址中获取损坏的名称

winapi get the mangled name from a function's address

本文关键字:损坏 获取 地址 函数 WinAPI      更新时间:2023-10-16

在我的 c++ 应用程序中,我有函数的虚拟地址,我想获取它们损坏的名称。现在,我只能通过使用 winapi SymFromAddr 函数获取未修改的名称。有没有办法也得到损坏的名字?

使用 SymSetOptions()。 您希望关闭SYMOPT_UNDNAME选项以查看损坏的名称。

所以,粗略地说:

  DWORD options = SymGetOptions();
  SymSetOptions(options & ~SYMOPT_UNDNAME);
  if (SymFromAddr(hProcess, dwAddress, &dwDisplacement, pSymbol))
  {
      // etc...
  }
  SymSetOptions(options);