IDTR限制超过256

时间:2011-06-22 02:03:05

标签: windows-7 x86 x86-64 kernel

我一直在为Windows做一些黑客攻击,当我做SIDT时遇到了一个事实。当我读SIDT时,我发现IDT限制的值是0xFFF(u4096)。

我很惊讶地发现它。我的印象是最大描述符数是256.那么IDTR限制为何是0xFFF?

我的系统是I7在64位运行Win 7。

感谢。

1 个答案:

答案 0 :(得分:5)

两个事实:

  • 限制是表中最高的合法地址,而不是最高的中断号。
  • IDT条目在x86-32中占用8个字节。在x86-64中,为了处理更大的地址,它会加倍(到16个字节)。

256 * 16 = 4096.字节将从偏移0开始,到4095结束。

(顺便说一下,0xFFF等于4095,而不是4096。)