首页
社区
课程
招聘
[旧帖] 如何恢复EPROCESS断链 0.00雪花
发表于: 2010-8-24 03:37 5220

[旧帖] 如何恢复EPROCESS断链 0.00雪花

2010-8-24 03:37
5220
某程序被隐藏了,OD附加不了,查看内核HOOK,也没发现什么,估计90%是EPROCESS断链链表中被删掉了。

如何恢复?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
V大语录]:

Quote:
killvxk的驱动查进程:
1.native api获得进程表a
2.通过activelist获得进程表b
3.通过pspCidTable获得进程表c
4.通过handletablelisthead获得进程表d
5.通过csrss的handletable用2种方法枚举获得进程表e和f
6.通过扫描当前进程的handletable获得进程表g
7.遍历表c的每一个进程的SessionProcessLinks获得进程表h
8.遍历表c的每一个进程Vm.WorkingSetExpansionLinks获得进程表i
9.通过Typelist分别取process和thread的表j和表k
10.通过表k得到进程表l
11.搜索内存中的threadobject和processobject得到进程表m
12.通过Wait/Dispatch得到进程表n
13.如果系统是Win2003以上遍历表c的每一个进程的MmProcessLinks得到表o
14.综合上面的进程表得到表p
15.对表p每一个进程做HandleTable,Vm.WorkXX,MmProcessXX,SessionProcessList扫描得到表q
16.枚举HWNDHandle得到进程表r
17.枚举JobObject得到表s
18.综合得表t,此时枚举结束~~

动态部分:
KiReadyThread
和KiSwapContext的钩子
还有KiService钩子
还有CreateProcessNotifyRoutine和CreateThreadNotifyRoutine
NtCreateThread钩子
动态维护一张表,静态枚举结束后综合两表~

这些方法找eprocess,如果是句柄的则ObRef一下得到eprocess,然后把链接到相应位置就行了吧?

其实就是枚举的方法的问题.
2010-8-24 19:11
0
雪    币: 7992
活跃值: (2566)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
你在这贴的时候

http://bbs.pediy.com/showthread.php?t=119113

我就说过方法了.

只是你第一个参数写错了.建议仔细看一下我原帖的描述.

Ps:PsActiveProcessHead其实很好得到.因为它就是SYSTEM进程的前一个.
2010-8-25 09:11
0
游客
登录 | 注册 方可回帖
返回
//