首页
社区
课程
招聘
[原创]DeviceIoControl 实现简单的监控程序
发表于: 2009-9-15 21:43 5547

[原创]DeviceIoControl 实现简单的监控程序

2009-9-15 21:43
5547
实现比较简单 高手飘过
流程有点乱...   下载的朋友们仔细看下
注意:驱动需要放在system32目录下  否则需要修改一下RING3代码。
XP SP2下测试通过  其他系统也应该没什么问题  
请自行测试 蓝了别找偶  

-------------------------------------
增加一个VB调用的例子   新手同胞们可不要错过

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
2
一眼看完,还真没发现有附件,又看了一遍。终于找到下载附件的地方了。。。
2009-9-15 23:04
0
雪    币: 251
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
BAD_POOL_CALLER (c2)
The current thread is making a bad pool request.  Typically this is at a bad IRQL level or double freeing the same allocation, etc.
Arguments:
Arg1: 00000040, Attempt to free usermode address to kernel pool
Arg2: 00000000, Starting address
Arg3: 80000000, Start of system address space
Arg4: 00000000, 0
也就是调用了ExFreePool(NULL);
原因是ExAllocPool调用可能失败返回NULL

另外MmBuildMdlForNonPagedPool(pMdlMemory);
是多余的
2009-9-16 00:18
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
谢谢  
这个问题有段时间了。  
昨晚一咬牙  奋斗到了今天早上5点 总算是把问题代码段找到了。我顶。

问题出在一个大量动态链表的操作代码段上  奇怪的是 时好时坏 坏的时候少。。
仔细看了代码 流程上是没有问题的 屏蔽掉这段代码就正常了。不知道怎么会这样。看来还得在Ring3下 模拟测试一下这段代码。 ^。^!   
Thank all
2009-9-16 04:47
0
雪    币: 251
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
看来我说得不够清楚
pModuleList = ExAllocatePool( NonPagedPool, NeededSize );
应该检查pModuleList 是否等于NULL
2009-9-16 10:41
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
看了前面的回复 我就检查了所有的内存分配 问题并非是出在内存分配失败上阿。
我也觉的有点奇怪 这个链表操作代码一直用它 不应该出问题的。但是把这段注释掉就正常了。。
2009-9-16 14:59
0
雪    币: 212
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
在Verfier下测试方便点。
2009-9-17 19:41
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
怎么没人下阿。。。
大家不要误会  leftup上面提到的问题是另个系统失败dump文件的问题 与本帖代码是无关的哦
  
刚增加了一个VB调用的例子   喜欢玩监控的新手同胞们可不要错过  ^@^
2009-9-18 17:46
0
游客
登录 | 注册 方可回帖
返回
//