【发布时间】:2012-07-19 15:41:17
【问题描述】:
我需要从 x64 平台上的 TIB 获取最大和最小堆栈(我知道我需要将 FS 寄存器替换为 GS 寄存器。)
在 x86 平台上,我可以使用 this table 并找到正确的偏移量
你知道我在哪里可以找到 x64 平台的表吗?
【问题讨论】:
标签: windows assembly 64-bit windows-7-x64
我需要从 x64 平台上的 TIB 获取最大和最小堆栈(我知道我需要将 FS 寄存器替换为 GS 寄存器。)
在 x86 平台上,我可以使用 this table 并找到正确的偏移量
你知道我在哪里可以找到 x64 平台的表吗?
【问题讨论】:
标签: windows assembly 64-bit windows-7-x64
这是一个适用于 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
}
【讨论】: