首页
社区
课程
招聘
[原创]偶写的Ring0监控程序PRMonitor源代码(ddk+sdk)
发表于: 2007-11-17 21:57 34261

[原创]偶写的Ring0监控程序PRMonitor源代码(ddk+sdk)

2007-11-17 21:57
34261

【文章标题】: PRMonitor
【作者邮箱】: qqshow@live.com
【BLOG   】: http://hi.baidu.com/heartdbg
【下载地址】: 附件里下载
【测试平台】: xp sp2 其它平台没有测试
最近很多人对实时监控的程序感兴趣,我也把我的代码放出来...
通过ssdt hook实现 对进程创建,注册表修改和内核模块加载的监控...
hook 了ZwCreateProcess      其实很多方法不用调用ZwCreateProcess而创建进程  更好的办法是再hook
NtCreateSection  我懒得改了 具体参考codeproject上的文章Hooking the native API and controlling process creation on a system-wide basis
注册表监控就是hook了ZwSetValueKey 没什么说的
内核监控仅仅 hook了ZwLoadDriver 其它进入ring0的方法没有监控........
现在只能算是一个Demo

其实 写这类的程序关键是封了进入ring0的方法  守住ring0这块高地 其它的什么都不怕.......
sdk+ddk代码在附件中


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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (45)
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
2
支   持 !
2007-11-17 22:42
0
雪    币: 113
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习,支持!!!!!
2007-11-18 00:48
0
雪    币: 243
活跃值: (209)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
很好,对我们很有帮助
2007-11-18 09:54
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
5
吼吼,顶个~
纠正一下。那个zjjmj2002也没有放他的源码啊。虽说是个大牛,但也不叫MJ大虾啊。
叫MJ大虾的是360的MJ0011
2007-11-18 10:25
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
nice job
2007-11-18 11:28
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢分享!!!
2007-11-18 11:29
0
雪    币: 424
活跃值: (1849)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
驱网上看到了,nice!
2007-11-18 12:59
0
雪    币: 248
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
谢谢分享!!!
2007-11-18 13:22
0
雪    币: 359
活跃值: (430)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
10
谢谢楼主,学习一下,
2007-11-18 14:12
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
NIU
11
很好的例子,下载,学习中
2007-11-18 21:21
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
支持 LZ...
2007-11-20 20:02
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
13
很好,支持分享!!!
2007-11-22 13:30
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
高手
支持
2007-11-22 17:29
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
15
支持下,只是研究过进程的创建和销毁....
2007-11-23 20:54
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
16
学习。。。
2007-11-25 16:46
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
//小弟不才,是为了给驱动传送CreateProcess的地址?

DWORD * addr=(DWORD *)(1+(DWORD)GetProcAddress(GetModuleHandle("ntdll.dll"),"NtCreateProcess"));

//这个是清零
    ZeroMemory(outputbuff,256);

//??小弟不才,没看懂这句的意思?是为了给驱动传送CreateProcess的地址?
//看驱动中是得到了CreateProcessEx的地址,这个是不是没用的语句?

    controlbuff[0]=addr[0];

//下面这句是从4字节后设置成共享内存并发给驱动

          controlbuff[1]=xxxx;
2007-11-28 14:47
0
雪    币: 220
活跃值: (12)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
本来是从Ring3得到ID号 再传给Ring0的   不过后来改进了下  直接从Ring0取ID了   
不过这个接口还留着 没删掉
2007-11-29 18:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
很好,对我们很有帮助
2007-12-1 10:30
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
呵呵,看来我理解对了.
2007-12-2 19:11
0
雪    币: 282
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
21
学习,支持~
2007-12-2 21:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我想知道你用什么建立这个工程的。我也想写个东西
2008-2-13 21:02
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
看了一下。。。不错的东西
2008-2-14 10:58
0
雪    币: 1263
活跃值: (5119)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
不错的东西
2008-2-17 06:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
谢谢楼主,下载学习了,,,
2008-2-23 19:36
0
游客
登录 | 注册 方可回帖
返回
//