Archive for 2005年10月17日


        首先了解监视共享行为的大概原理。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 <———— 注意,注意
.text:10004B99                 push    edi
.text:10004B9A                 push    offset aAntiproxyStart ; "antiproxy starting on netcard %d"
        0x10004B97处的跳转如果实现,那么从后边的代码可以知道StartMonitor函数就直接返回了。而之前的一些代码似乎是在检查用户的网络配置环境的,我没有细看。大致可以猜到如果检测到用户有共享上网的条件(如在局域网什么的),那么就会开始所谓的 AntiProxy 工作。否则就返回。且不管Racer主程序是如何定时调用这个函数,也不管到底是哪个模块调用这个函数,也不管RacerKP.exe(号称dhcpkeeper)是如何守护。我想现在已经非常明白了,我们只需要在这里做文章。而事实上经过调试和后来的使用也证明了这一点。
        只要我们将 10004B97 处的 jz short loc_10004C10 修改成无条件跳转 jmp 10004C10,那么Racer精心安排的一切监视进程就全盘失灵了。
        总结下来,我们只需要修改nss4.dll的 1个字节 :将 0x10004B97  的 74 修改为 EB 即可!
        具体的修改方法有很多,很多16进制编辑器都可以。比较流行的UltraEdit,网上有很多介绍如何使用16进制编辑器修改程序的文章,这里我就不多说,不会改的朋友就多费点心找些文章看下,比葫芦画瓢改一下。记得改之前备份。Enjoy It!

  在制作双绞网线的时候,有两种标准:T568A和T568B,在实际应用中,大多数都使用T568B的标准,通常认为该标准对电磁干扰的屏蔽更好,这种接法也称为100M接法,是指它能满足100Mb/s带宽的通信速率。

  网线1至8脚的定义如下:拿着RJ-45接头,有卡子的一面向下,要插入网线的端口对着自己,然后上面的金属触点从左到右依次为1-8,8种不同颜色的网线应该按下面的顺序依次排列:

  第一脚--橙白、第二脚--橙、第三脚--绿白、第四脚--蓝、第五脚--蓝白、第六脚--绿、第七脚--棕白、第八脚--棕。

  它的接法虽然也是一一对应,但每一脚的颜色石固定的。

  而标准T568A更多时候称为反线接法,也叫直连接法,与两端线序一样的正线(标准T568B)不同的是,直连法的一段为正线的线序,另一端的线序则需要将1和3,2和6这两组线对调。即另一端的线序是:

  第一脚--绿白、第二脚--绿、第三脚--橙白、第四脚--蓝、第五脚--蓝白、第六脚--橙、第七脚--棕白、第八脚--棕。

下面是正反线应用的不同地方:

(1)反线

PC-PC (网卡直连)

HUB-HUB(集线器普通口至普通口)

HUB-HUB(集线器级联口至级联口)

HUB-Switch   (集线器至交换机)

Switch-Switch(交换机至交换机)

Router-Router(路由器至路由器)

(2)正线

PC-HUB (网卡至集线器)

HUB-HUB(集线器普通口至级联口)

HUB-Switch(集线器级联口至交换机)

Switch-Router(交换机至路由器)