阅读:2407回复:12
动态加载TDI驱动和动态卸载TDI驱动???
请高手指点在2k运行的时候是否可以动态的卸载和加载TDI驱动程序是否可行,会造成系统重启吗?:)
|
|
|
沙发#
发布于:2003-08-22 14:01
可以的,没有任何问题!:)
|
|
|
板凳#
发布于:2003-08-22 16:08
可以的,没有任何问题!:)你这么有把握? |
|
地板#
发布于:2003-08-22 18:33
版主别吓我。。。。。。。。
|
|
|
地下室#
发布于:2003-08-22 19:24
如果是TDI Filter的话,那是绝对没有问题的。
|
|
5楼#
发布于:2003-08-25 11:00
大家仔细看看pcausa的代码,也没有解决这个问题。
我也一样没能做到,有谁做到了,请不吝赐教。 |
|
6楼#
发布于:2003-08-25 19:02
大家仔细看看pcausa的代码,也没有解决这个问题。 我正在在TDI Filter,也就是Hook \\Device\\Tcp等设备。使用CreateService()和StartService()这些函数可以实现动态装载和卸载,系统工作很正常,没有什么重启。 当然,如果不是TDI Filter的话,我就不清楚了。 |
|
7楼#
发布于:2003-08-25 20:00
TDI其它也同样可以的,动态添加、删除协议就是最好的例子。fliter是可以的,Fracker说的意思是状态恢复,这个东西是没有办法实现的,HOOK本身就是非法的行为,Windows怎么可能去为你做记录然后恢复呢。但是HOOK的东西基本上都是可以动态卸载和添加的,说白了不就是怎么恢复函数句柄的问题吗,这个是绝对可以做到的。
|
|
|
8楼#
发布于:2003-08-29 17:06
TDI其它也同样可以的,动态添加、删除协议就是最好的例子。fliter是可以的,Fracker说的意思是状态恢复,这个东西是没有办法实现的,HOOK本身就是非法的行为,Windows怎么可能去为你做记录然后恢复呢。但是HOOK的东西基本上都是可以动态卸载和添加的,说白了不就是怎么恢复函数句柄的问题吗,这个是绝对可以做到的。 我持反对意见,TDI 驱动程序其实看穿了好比一个文件系统驱动, 当有应用程序打开你的TDI OBJECT时,你是无法做到动态卸载的。 对于TDI FILTER更不用说了。 |
|
|
9楼#
发布于:2003-08-29 19:41
呵呵,我也是这么想的,
所以他们说他们能做到,我就一直很怀疑。 他们有不停打开连接,不挺装卸的测试么?我想应该是没有,因为我试过,死翘。 |
|
10楼#
发布于:2003-08-30 10:25
呵呵,状态恢复是不行!HOOK本身就是非法的,Windows不可能为你记录状态然后去恢复,所以你必须自己保证状态恢复的过程。说白了就是HOOK后打开的FILE_OBJECT必须要全部关闭后才能去卸载Filyer。反正我一直是使用动态方式在调试TDI Filter,没有任何问题。其实主要就是状态恢复的问题!不过绝对可以动态调试,这个是我一直的调试手段!
|
|
|
11楼#
发布于:2003-08-30 10:29
不过最近突然出现一个问题,就是无法反复的动态加载和卸载!有时一次之后,有时几次之后就死翘。不知道为什么! 请两为老大赐教!谢谢了先!:mad: :mad:
|
|
|
12楼#
发布于:2003-08-30 10:32
如果是TDI Driver或者TDI Client就更没有问题了,因为他们在卸载的时候会释放所有的FILE_OBJECT的。这样在系统区不会造成问题,造成问题也在应用太,将很少出现死机的现象!
|
|
|