alphapiao
驱动小牛
驱动小牛
  • 注册日期2002-06-21
  • 最后登录2011-05-04
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望155点
  • 贡献值0点
  • 好评度109点
  • 原创分1分
  • 专家分0分
阅读:1203回复:12

为什么拦截不到driverentry

楼主#
更多 发布于:2002-10-14 11:32
为什么拦截不到driverentry
我写了一个filter程序,我想在系统启动时拦截driverentry
我已经把应该做的事情都做了,在启动时能看到filter.nms和filter.c
在filter.c中的看到断点已经存在,可就是没断下来,是不是没有执行driverentry???
如果没有执行,我驱动中的其他例程却又能成功断下。
我只能这样解释,filter驱动在我的softice之前已经运行,会不会这样???
请大家帮忙。小分献上.
我的博客:xpddk.bokee.com
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-14 11:42
不懂,但建议你在DrverEntry里放一个
__asm int 3
然后在SoftIce里
i3here drv
看看能否断下
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
alphapiao
驱动小牛
驱动小牛
  • 注册日期2002-06-21
  • 最后登录2011-05-04
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望155点
  • 贡献值0点
  • 好评度109点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2002-10-14 11:53
我在DriverEntry中用
__asm
{
int 3
}
更严重,系统崩溃了。郁闷呀。
我的博客:xpddk.bokee.com
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-14 11:55
我在DriverEntry中用
__asm
{
int 3
}
更严重,系统崩溃了。郁闷呀。

你不拦截当然崩溃,要在SoftIce里
i3here drv
一定要用!
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
alphapiao
驱动小牛
驱动小牛
  • 注册日期2002-06-21
  • 最后登录2011-05-04
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望155点
  • 贡献值0点
  • 好评度109点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2002-10-14 12:09
我现在只想问这句
filter驱动在我的softice之前已经运行,会不会这样???
不然如何断不到driverentry

我也发现了在上次加
__asm
{
int 3
}
崩溃是在softice运行之前的,这正好说明我写的驱动在softice之前运行了。所以能断不到driverentry。
如果是这样,该怎么解决?
我的博客:xpddk.bokee.com
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-14 12:38
那完了,我不懂了,我不做驱动的,等做过类似东西的人来说一下吧。
不过你说“崩溃是在softice运行之前的”,这应该不对。
只要SI活着,它就应该能拦到断点的,比如Int 3断点。
SI是全局于系统的,它一旦激活,就常驻系统,不存在谁比它先运行的问题。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
alphapiao
驱动小牛
驱动小牛
  • 注册日期2002-06-21
  • 最后登录2011-05-04
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望155点
  • 贡献值0点
  • 好评度109点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2002-10-14 12:43
我的意思就是指在softice激活之前我的驱动就运行了。
我的博客:xpddk.bokee.com
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-14 12:46
我的意思就是指在softice激活之前我的驱动就运行了。

不会啊,比如你的驱动里有个int 3,那么运行到这里,SoftIce肯定会弹出的。
你真的用
i3here drv了?
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
alphapiao
驱动小牛
驱动小牛
  • 注册日期2002-06-21
  • 最后登录2011-05-04
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望155点
  • 贡献值0点
  • 好评度109点
  • 原创分1分
  • 专家分0分
8楼#
发布于:2002-10-14 13:12
真是太郁闷了,我i3here drv和i3here on都用过了。
反正一加
__asm
{
int 3
}
在driverentry中就崩溃。
我的驱动是start=0的级别。
我的博客:xpddk.bokee.com
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
9楼#
发布于:2002-10-14 13:22
si的启动次序很高的,但不知道是不是在si前你的driver就load了
你的driver需要用start=0吗?用auto(是2吧?:D)不行吗?
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-10-14 13:25
si的启动次序很高的,但不知道是不是在si前你的driver就load了
你的driver需要用start=0吗?用auto(是2吧?:D)不行吗?

嗄?他的驱动是和Windows一道启动的?那就有可能,但可能性不大
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2002-10-14 13:55
[quote]si的启动次序很高的,但不知道是不是在si前你的driver就load了
你的driver需要用start=0吗?用auto(是2吧?:D)不行吗?

嗄?他的驱动是和Windows一道启动的?那就有可能,但可能性不大 [/quote]
你看仔细点呀。 :P
alphapiao
驱动小牛
驱动小牛
  • 注册日期2002-06-21
  • 最后登录2011-05-04
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望155点
  • 贡献值0点
  • 好评度109点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2002-10-14 14:39
谢谢各位,问题已经解决了。
正如我所说,原来我的驱动真的是在SI之前运行了,
我把NTIce加在filter前(在system\\currentcontrolset\\ServiceGroupOrder )
就行了。
我的博客:xpddk.bokee.com
游客

返回顶部