《Undocumented Windows 2000 Secrets》翻译 --- 第四章(5)[31]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 kendiv 的 blog

个别的cpu指令仅对运行于ring 0级的代码有效,ring 0是五个特权级(intel系列的cpu只支持两个特权级:ring0ring3)中级别最高的一个。用windows术语来说,ring 0意味着内核模式(kernel-mode)。这些被禁止的指令有:读取控制寄存器cr0cr2cr3的内容。因为这些寄存器中保存着非常有趣的信息,应用程序可能想要找到一个办法来访问它们,解决方案就是spy_io_cpu_info函数。如列表4-20所示,ioctl处理例程调用的spyoutputcpuinfo()函数使用了一些嵌入式汇编来读取控制寄存器,以及其他一些有价值的信息,比如idt的内容,gdtldt寄存器以及存储在寄存器csdsesfsgssstr中的段选择器。任务寄存器(task register, tr)还包含一个涉及当前任务的tss的选择器。

 

本文关键:《Undocumented Windows 2000 Secrets》翻译 --- 第四章(5)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top