个人能力非常水,写代码常用三个键
最近学习研究某游戏的反劫持,发现,spsys.sys 有内核钩子与劫持相关的
想把它给恢复了,一脸茫然,
//关闭页面保护
KIRQL WPOFFx64()
{
KIRQL irql = KeRaiseIrqlToDpcLevel();
UINT64 cr0 = readcr0();
cr0 &= 0xfffffffffffeffff; writecr0(cr0);
_disable();
return irql;
}
char code[4] = { 0x0,0x0,0x0 ,0x0};
KIRQL irql;
ULONGLONG ul = 0xfffff8800280C000;//PCHunter中显示被劫持的地址
char code2[30] = { 0x2D ,0x43,0xDD, 0x8C, 0xF7, 0x11, 0x95, 0x76, 0x39, 0x44, 0x1D, 0xFA, 0x7E, 0xB7, 0x5F, 0xD8, 0x0A, 0xC5, 0xF0, 0x31, 0xD2, 0xC8, 0xF7, 0x90, 0x33, 0x7D ,0x5A, 0xAA, 0x1B, 0xC8 };//PCHunter中显示的原始值
memcpy(code, (void)ul, sizeof(code));//先按这个地址读取几个字节看看对不对
KdPrint(("读取数值 %d --%d ---%d---%d", code[0], code[1], code[2], code[3]));
irql = WPOFFx64();//关闭页面保护,,,,到这就马上蓝屏
memcpy( (void)ul, code2, sizeof(code2));//恢复能不能这样弄,我也不知道,虽然感觉很二,因为真不懂,恳请大佬指点一二,这里是想把PChunter给出的原始值按照给出的地址给copy进去,能不能恢复呢?因为蓝屏了,还没到这所以也不知道,感觉很二
WPONx64(irql);
求大佬指点一二。