关闭内存写保护的代码:
KIRQL WPOFFx64()
{
KIRQL irql=KeRaiseIrqlToDpcLevel();
UINT64 cr0=__readcr0();
cr0 &= 0xfffffffffffeffff;
__writecr0(cr0);
_disable();
return irql;
}
打开内存写保护的代码:
void WPONx64(KIRQL irql)
{
UINT64 cr0=__readcr0();
cr0 |= 0x10000;
_enable();
__writecr0(cr0);
KeLowerIrql(irql);
}
本文提供了关闭和打开内存写保护的代码实现。通过修改CR0寄存器来控制内存写保护的状态,包括关闭内存写保护的函数WPOFFx64()及恢复内存写保护的函数WPONx64()。
206

被折叠的 条评论
为什么被折叠?



