|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
河南网通的用户应该都知道,网通最新的拨号客户端(Racer)禁止了共享上网,这给很多有多台电脑的用户带来了麻烦,虽然之前的几个版本也禁止共享,但总有各种变通的方式能够成功共享。比如使用软路由、IP安全策略等方法,但我在那时候没有遇到这个问题,所以了解的不多,我一直使用的Wiindows 2003,之前都能很顺利的共享,不需要做任何特别的设置,也帮朋友处理过这个问题,那时候记得用Sygate就解决了。
不过就在前几天,我的客户端突然说进程异常,要我重新启动才行,我没理它,继续拨号,但一直掉线并报错。没办法,重新启动机器,的确好了,可是又很意外的提示我上网的机器太多,让我停止共享..我很奇怪之前一直好好的,为什么突然不行了。后来想可能是客户端自动更新了plus。这个没多想,我头疼的问题是如何解决共享问题,没想到我以前笑朋友RP不好才不能共享,现在我自己遇到麻烦了-_-.
不用说,先Google.找到了N中解决方法,逐一实验但均宣告失败。某些方法能够持续个十几分钟,但始终逃不过Racer的监视。以前帮朋友解决问题的方法也不奏效了,看来新客户端的确加强了这方面的功能??虽然上网速度没什么改进。
被折磨了几天,让我心神不宁,干什么都不爽。终于决定深入研究研究。
好象现在才说到正题[object]:
首先了解监视共享行为的大概原理。Racer使用的非常关键的一个东西:NPF(网络组包过滤)。网上也有文章指出通过删除NPF驱动的方法使Racer的监视失效,但这个方法已经不行了。Racer如果检测到NPF驱动没有运行或者被标记删除就会报告进程异常,让重新启动才行。不过抓住藤离摸到瓜也不远了。首先看看Racer目录下边的文件,那些个DLL们。其中的 packet.dll,wpcap.dll,wanpacket.dll 就是使用NPF需要调用的。接着使用stud_PE挨个看其他哪个DLL或者EXE调用了这些DLL。不难发现,我们要继续研究的目标就是:nss4.dll
nss4.dll 导入了 wpcap.dll 的7个函数。具体是什么我们不需要关心。我们关心的是nss4做了什么。
同样使用stud_pe可以看到nss4.dll 有6个导出函数:
GetCountNum,IsMonitorRunning,StartMonitor,StartMonitorProcess1,StopMonitor,StopMonitorProcess1
我想..这6个函数名是我这篇Blog里可读性最高的一行文字了吧(包括我写的文字-_-).
该IDA登场了,打开nss4.dll,大致看一下StartMonitor函数。其中的流程基本很明了,特别是以下一段
.text:10004B8B test eax, eax
.text:10004B8D mov [esp+1Ch+var_4], 0FFFFFFFFh
.text:10004B95 mov [esi], eax
.text:10004B97 jz short loc_10004C10 |
|