从x64进程获取函数表



我想遍历x64进程的堆栈
我读到,为了做到这一点,我需要获得存储在exe或DLL中的展开信息
我已经看到有一个RtlAddFunctionTable,但我可以找到任何方法来获得这个函数表
我该怎么做?

你看过StackWalk64吗?

您还可以使用作为DDK/SDK的一部分提供的WinDbg的64位版本http://msdn.microsoft.com/en-us/windows/hardware/gg463009.

连接后,您可以加载窗口符号:

.symfix;.reload;

您也可以将它指向您的应用程序pdb,只要您的pdb没有从发布版本中剥离私有符号,您就应该能够看到完整的调用堆栈。

您可以使用RtlLookupFunctionEntry(https://learn.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-rtllookupfunctionentry)以获取与特定代码地址相关联的函数表条目(结构体RUNTIME_function)。

最新更新