首页
社区
课程
招聘
[求助]把ObReferenceObjectByHandle HOOK了咋个还是不能防止进程被结束呢?
发表于: 2009-3-5 10:06 12968

[求助]把ObReferenceObjectByHandle HOOK了咋个还是不能防止进程被结束呢?

2009-3-5 10:06
12968
收藏
免费 0
支持
分享
最新回复 (35)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
26
Hook函数尾不是不可以啊
2009-3-7 09:31
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
LZ还是求某牛放血吧,这样马甲下去也不是办法啊
2009-3-7 13:15
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
搞定~!借用cschenhui的代码果然成功了

原来是忘了考虑bojecttype为空的情况~哎~~
麻烦大家了 问题解决~!谢~!
2009-3-7 14:23
0
雪    币: 290
活跃值: (20)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
29
要看情况,如果有返回Buffer的一般都可以
2009-3-7 20:53
0
雪    币: 66
活跃值: (950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30


至少我用了,都BSOD 很多次了,不敢用到实际中去啊
2009-3-8 11:06
0
雪    币: 290
活跃值: (20)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
31
肯定代码有问题
现在HOOK这个函数的工具不少
都很稳定
2009-3-8 20:23
0
雪    币: 66
活跃值: (950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
我用的是Sysnap
这篇文章的代码:
http://bbs.pediy.com/showthread.php?t=65731

至少BSOD 好些次.

也只能看看.不能拿到实际中用.
2009-3-10 02:22
0
雪    币: 290
活跃值: (20)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
33
我看了下你说的文章,这篇文章写得不错。
但是感觉HOOK的方法不是很对,采用了3环下的一种替换函数头部指令,当需要执行原函数又恢复的方法,这里存在一定的不稳定性,在多核下很容易出问题。
我觉得应该只需要更改一次函数就可以了,这样HOOK的方法就要换一下

__declspec (naked) xxxxx()
{
       mov eax,ObReferenceObjectByHandle
       add eax,5
       jmp eax
}

把这个单独成一个函数。HOOK开始先把原函数执行。
_asm{
    push [ebp+1ch]
    push [ebp+18h]
    push [ebp+14h]
    push [ebp+10h]
    push [ebp+0ch]
    push [ebp+08h]
    call xxxxx
    mov ntStatus,eax
}

if (NT_SUCCESS(ntStatus))
{
....在这里判断是你需要保护的或者HOOK的就把*Object=NULL;就OK了然后给个错误返回值。
2009-3-10 09:42
0
雪    币: 66
活跃值: (950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
谢谢,不过我没有翻译成功。
2009-3-11 02:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
发现楼猪的马甲了。
2009-3-11 10:52
0
雪    币: 290
活跃值: (20)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
36
看不懂??已经说得很明白了
2009-3-11 10:58
0
游客
登录 | 注册 方可回帖
返回
//