2

x64プラットフォームのTIBから最大スタックと最小スタックを取得する必要があります(FSレジスタをGSレジスタに置き換える必要があることはわかっています)。x86プラットフォームでは、このテーブルを使用して正しいオフセットを見つけることができ
ます。 x64プラットフォームのテーブルを見つけることができますか?

4

1 に答える 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 に答える