Windows x64下的线程信息块
我需要从x64平台上的TIB获取最大和最小堆栈,我知道我需要用GS寄存器替换FS寄存器。 在x86平台上,我可以使用并找到正确的偏移量Windows x64下的线程信息块,windows,assembly,64-bit,windows-7-x64,Windows,Assembly,64 Bit,Windows 7 X64,我需要从x64平台上的TIB获取最大和最小堆栈,我知道我需要用GS寄存器替换FS寄存器。 在x86平台上,我可以使用并找到正确的偏移量 你知道在哪里可以找到x64平台的表格吗?这里有一个在x86和x64上工作的程序 #include <windows.h> #include <stdio.h> void main() { PNT_TIB ptib = (PNT_TIB)NtCurrentTeb(); #ifdef _AMD64_ printf("Stack ba
你知道在哪里可以找到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
}
这是一个在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
}