首页
社区
课程
招聘
[讨论]关于_SYSTEM_PROCESSES的填冲
发表于: 2012-4-10 12:08 5924

[讨论]关于_SYSTEM_PROCESSES的填冲

2012-4-10 12:08
5924
进程被断链了,只是断的PsInitialSystemProcess->list_tab
用PspcidTable可以遍历出来.取得进程EPROCESS为hide_Eprocess
我现在想任务管理器去显示这进程,但是不在PsInitialSystemProcess->list_tab增加删除的EPROCESS...

所以想hook NtQuerySystemInformation, 但把hide_Eprocess结构为ERPCESS增加到_SYSTEM_PROCESSES中去貌似很难。。所以只有考虑,NtQuerySystemInformation的过程,看是如何增加EPROCESS到_SYSTEM_PROCESSES参数中去的,用来找地方HOOK增加EPROCESS。。。。但地方未找到。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 111
活跃值: (90)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
继续求解答。。。

因为有检测,有保护线程一直在检测,恢复断链马上自动重启电脑。

所以只是想手动将EPROCESS信息增加到NtQuerySystemInformation返回的EPROCESS到_SYSTEM_PROCESSES中去。怎么办?
2012-4-11 22:58
0
雪    币: 2331
活跃值: (2225)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
3
hook NtQuerySystemInformation,调用原始NtQuerySystemInformation,返回结果为
struct xx{
ULONG i;
yy
}

此时,自己再申请一块i+1个结构体的内存,然后把原始数据拷贝进去,接着填充hide_process,最后返回就好了。
2012-4-11 23:15
0
雪    币: 111
活跃值: (90)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
EPROCESS到_SYSTEM_PROCESSES
感谢版大的回复. 但还是不太明白.
申请内存块, 调用原始NtQuerySystemInformation,返回的是每个进程信息的_SYSTEM_PROCESSES. 而通过pspcidtable遍历得到的是EPROCESS结构,两个结构信息完全不同. _SYSTEM_PROCESSES需要的几个字在EPROCESS结构都没有,怎么填充?
2012-4-12 12:32
0
雪    币: 111
活跃值: (90)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
继续等待高手帮解答下.
2012-4-13 15:04
0
雪    币: 585
活跃值: (578)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
6
自己动手先搞下,边调边试,,就知道怎么搞了。
2012-4-13 16:15
0
雪    币: 2331
活跃值: (2225)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
7
怎么填充直接参考NtQuerySystemInformation函数的实现。
2012-4-13 16:35
0
雪    币: 585
活跃值: (578)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
8
我估计lz是希望有人把代码给你写出来,
2012-4-13 17:42
0
雪    币: 111
活跃值: (90)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
抱歉,我只是想问方法.

如果你认为我是只要代码来的,对不起,你错了
2012-4-13 23:07
0
雪    币: 111
活跃值: (90)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
windbg看过NtQuerySystemInformation的实现.很复杂.
有别的方法吗
2012-4-13 23:08
0
游客
登录 | 注册 方可回帖
返回
//