首页
社区
课程
招聘
[求助]通过枚举job Object来列举进程,如何找到Job Object
发表于: 2011-1-7 16:17 6904

[求助]通过枚举job Object来列举进程,如何找到Job Object

2011-1-7 16:17
6904
备份。。。

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,此时枚举结束~~

这个是枚举进程时候,需要做的工作,
我想问一下
11.搜索内存中的threadobject和processobject得到进程表m

17.枚举JobObject得到表s

大概思路,实在是找不到相关资料啊,这个列表还是教主指点才找到的

知道的,给点思路,或者提供点相关资料吧,谢~~~~~~~~

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 1157
活跃值: (847)
能力值: ( LV8,RANK:150 )
在线值:
发帖
回帖
粉丝
2
原来WRK中有,晕...
2011-1-7 16:55
0
雪    币: 1157
活跃值: (847)
能力值: ( LV8,RANK:150 )
在线值:
发帖
回帖
粉丝
3
11.搜索内存中的threadobject和processobject得到进程表m

这个还是没有解决,思路完全没有啊
2011-1-7 18:28
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
都是前人做过的东西了,都怪你不会搜索啊。。。
http://bbs.pediy.com/showthread.php?t=97050
http://www.cppblog.com/Tinpont/archive/2010/12/17/136738.aspx
2011-1-7 19:16
0
雪    币: 1157
活跃值: (847)
能力值: ( LV8,RANK:150 )
在线值:
发帖
回帖
粉丝
5
我都不能不公开感谢下教主的照顾了,谢谢啦,我按照你发的那个列表,每一个都好了,就差这些了,主要是这里没有思路,呵呵,看这个列表才发现检测隐藏比 隐藏 难度要大一点,其实都是一样东西正反弄
2011-1-8 13:26
0
雪    币: 1157
活跃值: (847)
能力值: ( LV8,RANK:150 )
在线值:
发帖
回帖
粉丝
6
请继续指点下这个的资料

12.通过 Wait/Dispath表获得进程列表

论坛啊,百度啊,都找了,无果
2011-1-10 15:43
0
雪    币: 34
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
应该都是EPROCESS里边的东西.关键是人家要是要有驱动,想隐藏啥隐藏啥,没办法.
2011-1-10 16:09
0
雪    币: 1157
活跃值: (847)
能力值: ( LV8,RANK:150 )
在线值:
发帖
回帖
粉丝
8
我也是想做隐藏,我主要想看他们如何通过这个枚举进程的,估计这个也找不到我的进程了,因为我已经把东西抹的从线程对象找不到进程对象了,就一个地方还没弄好,就是_ETHREAD里面的ApcState中的_KEPRROCESS了,把这个抹掉还要Hook 线程调度程序中的KiReadyThread,KiSwapContext,等等函数,这个搞不好比较危险,先放放,至少现在可以过XueTr了,呵呵
2011-1-10 17:09
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
9
完整点说就是KiWaitListHead和KiDispatcherReadyListHead,和线程调度有关的两个链表
参考以下内容:
http://wenku.baidu.com/view/d9d194f7ba0d4a7302763a3b.html
2011-1-10 19:56
0
雪    币: 1157
活跃值: (847)
能力值: ( LV8,RANK:150 )
在线值:
发帖
回帖
粉丝
10
这两个链表好像都不能断掉,为了对抗这个毕业论文中的提到的检测方法,我修改了_KTHREAD中的_KPROCESS指针为0,这样就无法从这个线程对象找到了EPROCESS结构了,但是我看到KiThreadReady函数里面会根据_KTHREAD查找EPROCESS结构的指针,这样我就必须Hook KiThreadReady函数,在真正的进入这个函数之前把这个指针恢复,不然这个指针为空,

我看微软的这个函数里面(WRK)并没有进行空指针检查,肯定要蓝屏的,其他的还有什么要做的呢?

请继续提供点关于线程调度的细节的资料吧,呵呵,俺把这个搞清楚,那个毕业论文中没有说清楚线程调度的细节啊
2011-1-12 18:01
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
进程、线程神马的都是浮云。
2011-1-12 22:32
0
雪    币: 1157
活跃值: (847)
能力值: ( LV8,RANK:150 )
在线值:
发帖
回帖
粉丝
12
是什么神功让你把这些都看成了浮云呢?
2011-1-13 16:29
0
游客
登录 | 注册 方可回帖
返回
//