此选项将重置所有页面设置,包括任何以关闭的widgets及类别

重置

安全HOOK的小技巧

网上很多hook代码,尤其是Obxxxxxx系列函数,它们很邪恶,一旦hook得好,可如入无人之境,这点我深有体会啊,但是同时它们调用频繁,比如 ObReferenceObjectByxxxxxx,基本上windows的每一个操作,都会调用它。比如就简单的一个双击一下记事 本,ObReferenceObjectByxxxxxx已经被调用了,所以在进行hook的时候,如果功力不深,就容易造成BSOD。

一般如果是我在动这些蛋糕的时候,我都会注意如下几个方面:

1,一个强大的汇编引擎,一个强大的引擎必不可少

2,#pragma LOCKEDCODE

3,

CurrentIRQL = KeGetCurrentIrql();
if(CurrentIRQL>APC_LEVEL)
{
return Status;
}

4,在你的Fake_XXXXX内部,如果是指针类的变量,用最好先if下吧

其中最主要的还是IRQL问题,如果在Fake_XXXXX内部没有判断,而又调用_strcmpi等之类函数来做符合条件的判断的话,BSOD是必然 的,这些函数是无法在>=DISPATCH_LEVEL的级别上运行。所以如果当前IRQL>=DISPATCH_LEVEL的话,乖乖返回 吧,我就吃过这样的亏,搞了几天,后经高人指点 ^.^
我记得mj说过的一句话:hook的最高境界是,即使自己失败,也不要让别人崩溃!膜拜下~

作者:asm



【你可能还喜欢这些文章:】

看贴不回的后果...你懂的..