CR0,CR3寄存器

驱动在hook系统函数的时候通常要将只读属性暂时的屏蔽掉,主要有三种方法


1.修改CR0寄存器的WP位,使只读属性失效(这是网上用的最多的方法),切忌使用完之后立马修改回来


2.只读的虚拟地址,通过CR3寄存器中的页目录物理地址找到页目录项继而找到页表项,然后修改页表项中的W位来进行修改

 

3.在页表里新找一项,将其对应的物理地址改为,你要修改那页的物理地址,页属性为可写。然后操作那页即可。X86体系的缺点是可以保护虚拟地址,但不能保护物理地址。

CR0 寄存器

CR0,CR3寄存器_第1张图片

 

CR4

CR0,CR3寄存器_第2张图片

你可能感兴趣的:(c)