我需要从 x64 平台上的 TIB 获取最大和最小堆栈(我知道我需要用 GS 寄存器替换 FS 寄存器。)在 x86 平台上我可以使用这个表并找到正确的偏移量
你知道在哪里吗我可以找到 x64 平台的表吗?
问问题
1131 次
1 回答
4
这是一个适用于 x86 和 x64 的程序。
#include <windows.h>
#include <stdio.h>
void main()
{
PNT_TIB ptib = (PNT_TIB)NtCurrentTeb();
#ifdef _AMD64_
printf("Stack base: %08I64X, limit: %08I64X\n",
ptib->StackBase, ptib->StackLimit);
#else
printf("Stack base: %08X, limit: %08X\n",
ptib->StackBase, ptib->StackLimit);
#endif
}
于 2012-07-19T17:54:27.407 回答