阅读:2304回复:20
各位可曾注意到hook Register Protocol方法在设备切换时路由表会混乱?
用hook register protocol方法做的东东,单用modem或者网卡都好用,但是当先用modem连接,但断开modem,再用网卡的时候,会发现xp的路由表(用route print)变的乱七八糟,所以断开modem后网卡经常不通?
各位有否遇到过?知道是什么原因吗?急切的想知道! |
|
沙发#
发布于:2002-12-09 14:22
我的还没有测拨号的问题,
你说的hook register protocol是什么意思?你对ndiswan是怎么处理的? |
|
|
板凳#
发布于:2002-12-09 14:33
考,就是hook ndisregisterprotocol函数,我还想请求帮助呢,你倒是会找地方,呵呵! :)
我的方法就是注册空协议的方法,找到协议头,再找到tcp/ip或者ndiswan,这样就可以了! 我是swift,用这个帐号我上不来,不知道怎么回事,发信也没人理,你可以搜我以前的帖子,有说过! |
|
地板#
发布于:2002-12-09 15:07
哈哈,我也是这么做的,不过还没有测ndiswan的问题,我想问的是你对ndiswan都做那些特设的处理了?还有,你是在98下还是在winme下?
我先搜一下看看:) 前一段时间要重新确认账户了,你是不是没有确认? |
|
|
地下室#
发布于:2002-12-09 15:31
你的VPN进行到那一步了?、我看了你前面的帖子,不知道你具体的做法,不过我没有想明白你为什么说不能在MSTCP前面加载?如果不能在MSTCP前面加载,那你hook ndisregisterprotocol的意义在哪里?
|
|
|
5楼#
发布于:2002-12-09 15:32
有确认吗?我怎么不知道,可能很久没来了吧!
我作的是2000和xp的,ndiswan没什么特殊处理,只是有些地方hook的位置不同罢了! winme没作过! |
|
6楼#
发布于:2002-12-09 15:44
哦,错了,呵呵,你一定是用PE表做的,我是用注册假协议作的,其实注册假协议不应该叫做hook ndisregisterprotocol,因为这只是其中的一步!
而PE表才是真正的hook ndisregisterprotocol,入口点也是在这里! PE表要在mstcp前加载,而假协议要在其后加载! PE表是等所有的协议一个一个的注册进来,在注册的时候拦截,假协议是在所有协议注册后再一个一个的去找! 就象坐火车,你买了票了要上车,车门处有检票员要查票,一个一个的查,这是PE表! 当你上了车,有人来查票,这就是假协议! |
|
7楼#
发布于:2002-12-09 16:10
噢,逻辑关系明白了,不过还是不知道具体怎么做的:)
我觉得hook的方式灵活性很大,而且权限也很大:) 我很喜欢:) |
|
|
8楼#
发布于:2002-12-09 16:22
好象注册一个协议的时候就能得到系统中已注册过的所有协议的链表头,这时候就可以通过改一些数据结构达到 Hook 的目的。
|
|
9楼#
发布于:2002-12-09 17:22
唉,已经远离我的问题了,mikeluo尽来捣乱!
我所问的问题只出现在xp上,其他系统我没有遇到过! 哪位大侠能指点指点? xp在内核上不知道做了什么改动?有没有什么工具能得到windows里的各种消息?在设备切换时会做什么处理?在断开modem的时候一定是要重写路由表,一定是什么消息被我忽略了,所以才造成路由表混乱,可是却一直找不到! |
|
10楼#
发布于:2002-12-09 17:27
softice不可以么?
|
|
|
11楼#
发布于:2002-12-09 17:31
softice当然可以,不过你得知道是哪个消息才行啊,不然你要去拦截哪个?
我想一定是有系统的消息被我的程序截断了,所以才会这样,嗯,有时间得好好根一根! |
|
12楼#
发布于:2002-12-09 17:33
那就先仔细看一下你的程序的流程,仔细考虑一下,
|
|
|
13楼#
发布于:2002-12-09 17:36
这样要太长的时间,而且不一定能够搞的出!
|
|
14楼#
发布于:2002-12-10 12:59
用hook register protocol方法做的东东,单用modem或者网卡都好用,但是当先用modem连接,但断开modem,再用网卡的时候,会发现xp的路由表(用route print)变的乱七八糟,所以断开modem后网卡经常不通? route 是由TCPIP来管理的这各你的程序有什么关系呢。 一般情况下和REGISTER PROTOCOL是不会有关系的。 |
|
|
15楼#
发布于:2002-12-10 13:28
一定是有关系的,因为我的程序启动后这种情况才出现,不启动不会出现,也一定是我hook出来的函数一定在处理上有问题,不然也不会这样!
gjpland遇到过这种情况吗?系统XP |
|
16楼#
发布于:2002-12-10 16:04
你看一下你是怎么处理ndisrequest的?
|
|
|
17楼#
发布于:2002-12-11 11:39
一定是有关系的,因为我的程序启动后这种情况才出现,不启动不会出现,也一定是我hook出来的函数一定在处理上有问题,不然也不会这样! 没有碰到过。 |
|
|
18楼#
发布于:2002-12-11 12:16
你没碰注册表?
|
|
|
19楼#
发布于:2002-12-11 12:25
注册表只是做了一下mtu修改,还有就是注册服务,其他的没碰啊!
|
|
上一页
下一页