jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:4442回复:22

过滤驱动程序的拦截问题

楼主#
更多 发布于:2001-07-18 09:57
俺按照WaltOney那本书上的说法,做了一个上层过滤驱动程序。
可是在安装时,SOFTICE无法拦截到这个过滤驱动的DriverEntry(),要说安装不对呢:filter.sys又的确被拷贝到系统目录下去了。
我不知道为什么?
有谁遇到过类似的问题而且也解决了,给俺点一盏明灯。
俺谢你了,先!

最新喜欢:

xhzxlqtxhzxlq... ddk2003ddk200...
无心化语
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分-103分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2001-08-27 08:42
用户被禁言,该主题自动屏蔽!
gxzbme
驱动牛犊
驱动牛犊
  • 注册日期2001-08-09
  • 最后登录2006-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-26 14:39
这个问题,曾经把我搞得啼笑皆非!

我用了不下5种方法修改安装过无数次过滤驱动程序,结果都失败了。

有一天,百无聊赖之际,我用了一下Update Driver,竟然一次
成功。

在此问题上浪费的时间,哎,哎。。。

比如,安装键盘的filter.sys.首先编译通过,

接着打开驱动管理,找到键盘,双击打开属性,在驱动页升级驱动程序,(inf中使用了need和include,可以保证安装以前的driver),一路下去,并在适当的时候,继续安装,就可以了。如果报告发现更合适的驱动,千万不要安装,否则白装。

当然,直接写reg,更安全可靠。

[无心化语 编辑于 2001-08-27 08:38]
wentao
驱动牛犊
驱动牛犊
  • 注册日期2001-05-25
  • 最后登录2003-12-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-07-19 17:07
DriverEntry()函数是在安装驱动程序时,进行运行的,你如果在设备管理器中将该设备先设为Disable,然后再设为Enable,在这个过程中,在你的.NMS文件中加入断点即可!
wentao
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-07-19 14:19
成了啊,呵呵,恭喜
你是完全按照例子做的吗?
//奇怪,怎么偶的在98下好好的,2000下就不行
Go,go ahead
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-07-19 11:19
向各位楼上的同志致以革命的敬礼:

一切OK,可以拦截到了过滤驱动的DRIVERENTRY(2k中)
问题好象出在,不可以用NTx86平台符,改用NT万事OK!
为什么,俺不知道,有哪位大虾知道了,给俺说个1、2、3、4;

dazzy
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-08-12
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望10点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-07-19 10:55
你的inf里是否用upperfilter项来指定此上层过滤驱动,安装后在注册表里能否找到你的upperfilter所指向的上层过滤驱动。


[dazzy 编辑于 2001-07-19 11:07]
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-07-19 10:40
IAMME同志:
我将两者合二为一,并且用CHKINF VERIFY时,除了原先一直存在的错误和警告以外,其余的部分都已经没了问题。
可是不论是在 98还是2K中,都只是把我的功能驱动拷贝到指定的目录下了,可是过滤驱动,不见踪影?你不是说没问题吗,在98中?

当然也就拦截不到过滤驱动了,我的过滤驱动是上层过滤!

我可怎么办啊?工期快到了!!!

Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-07-19 08:41
jeosph 同志:
就是合二为一
只需在功能驱动中加入usbfilt.inf.txt中所指出的项
在98下一定能成功。

           俺也向你致以革命的敬礼!!
 
Go,go ahead
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-07-18 19:56
IIMME同志:
你说的USBFILT的例子,俺不懂啊!(我水平太臭)
是不是将功能驱动程序,过滤驱动程序的INF文件合二为一,
也就是在安装功能驱动的时候就将过滤驱动也给加上去了?

还是把的你INF文件贴出来,让大家参考参考吧!
俺向你致以革命的敬礼!!
lxf
lxf
驱动小牛
驱动小牛
  • 注册日期2001-03-26
  • 最后登录2013-05-04
  • 粉丝4
  • 关注0
  • 积分76分
  • 威望30点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-07-18 19:26
我作了一个过滤驱动程序,象你一样安装后只有启动后才起作用。
我可以看到大部分的例程,可就是没断到DriverEntry(),我也觉得奇怪。
别着急,慢慢来!
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-07-18 18:53
偶只是奇怪,用driverwork中的这个方法在98下没问题
在2000下却会失败,至今没找到原因,如果你搞定了,
麻烦告诉偶,谢了
Go,go ahead
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-07-18 18:49
别按walt的做
driverwork里有个usbfilt的例子,那里有个usbfilt.inf.txt,
你看看就明白了
另外2000DDK的帮助中也有介绍
Go,go ahead
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2001-07-18 17:28
那本书还有一个驱动是必须的!以G开头的
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2001-07-18 17:20
愁人!
你问的东西,我一样不缺!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2001-07-18 15:35
你是在SOFTICE里设置断点之后才把驱动启动的吗?
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2001-07-18 15:18
start=3,serive_demand_start
magie
驱动牛犊
驱动牛犊
  • 注册日期2001-05-17
  • 最后登录2001-11-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2001-07-18 14:29
如果sys装载正确,需使用symbolLoader将其转换一下(类似反编译得到你说的nms文件),再load一下,softICE才能看到。在softICE中使用file *看看有没有你的c程序文件。
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2001-07-18 13:09
这个当然啦!偶是问你,你的驱动在注册表里的Start是多少啊?
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2001-07-18 13:05
唉!大哥啊!
怎么跟你解释呢?过滤驱动程序的加载是不能用设备管理的哪个“添加新硬件”的方法了!
上一页
游客

返回顶部