首页
社区
课程
招聘
[求助]老问题 DKOM隐藏进程的恢复
发表于: 2009-3-7 13:11 11238

[求助]老问题 DKOM隐藏进程的恢复

2009-3-7 13:11
11238
虽然是个老问题
不过还是想问下大家
代码无非是

  temp->Flink = front->Flink;
   front->Flink->Blink = temp;
   temp->Blink = front;
   front->Flink = temp;

temp是隐藏的进程
front是隐藏进程的前一个进程

大家所说的办法基本都试过了
无一例外的蓝.

环境是WINDOWS XP SP3
不知道大家有没有解决好这个问题的.

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
cli&disable wp
2009-3-7 13:13
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不是总蓝,而是大约40%-50%的时候蓝。

加那两条之后我没有蓝过。
2009-3-7 13:14
0
雪    币: 201
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
额..
确实其实说总蓝也不太对
不过.
确实是80%蓝.

cli也处理过
不过有一次极特殊的情况是恢复完后所有进程都不见了
只剩idle...

呵呵
2009-3-7 15:02
0
雪    币: 201
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
嗯...
果然还是不行
cr0和mdl两种方法都用了
看来不是wp的问题

而且BSOD代码总是
0x0000000A IRQL_NOT_LESS_OR_EQUAL
The IRQL_NOT_LESS_OR_EQUAL bug check has a value of 0x0000000A. This indicates that Microsoft Windows or a kernel-mode driver accessed paged memory at DISPATCH_LEVEL or above.

话说经验不足
实在不知道怎么解决这个问题
2009-3-7 15:42
0
雪    币: 44
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
你能保证隐藏的进程还在活动链表原来的位置吗?
2009-3-7 20:43
0
雪    币: 201
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼上的说到点子上了
这才是最关键的问题
有几点:
1.即使你记录了摘链的时候的前一个节点,但是你无法知道恢复的时候这个节点还在不在
2.即使你恢复的时候用当前进程,也就是System。在其后插入原节点,那么涉及到第三个问题
3.关于活动链:活动链是否必须按照一定的顺序,这个我目前确实不得而知
4.等等其他一些细节问题.......
2009-3-8 13:24
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
蓝屏是因为,你执行这些代码的时候,必须让其他所有程序知道,你正在执行一个不可中断的代码.
2009-7-13 14:12
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
9
直接InsertTailList插入到PspActiveProcessHead不就行了,这跟写保护没有关系
2009-7-13 15:33
0
雪    币: 351
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
mark  学习。。。
2010-1-29 23:40
0
雪    币: 636
活跃值: (174)
能力值: ( LV9,RANK:260 )
在线值:
发帖
回帖
粉丝
11
现在基本都是多核的机子,cli并不一定能阻止线程切换。
2010-1-30 12:28
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这个不错。。。。
2010-2-5 15:49
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
各processor运行DPC阻止线程切换?
2010-2-8 10:28
0
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
这个有什么好解决办法么?
2010-2-9 02:51
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
dispatch lock 可以解决, 但是win 7彻底废除它, 只能用我上面说的dpc 法, 把每个processor都挂到那, 直到你完成操作
2010-2-9 11:40
0
雪    币: 228
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
蓝的几率很小,但前提是,这个操作要在IRQL < DISPATCH_LEVEL 下执行,因为大部分时间里,这个操作所涉及涉及到的内存已经被换出物理内存了。我在KiSystemService执行的时候执行这个操作,从来没有蓝过
2010-2-10 16:55
0
雪    币: 8865
活跃值: (2379)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
17
习惯于在NtQueryXX后做恢复的路过
2010-2-10 22:38
0
游客
登录 | 注册 方可回帖
返回
//