首次编译安装测试passthru

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://qq164587043.blog.51cto.com/261469/86729
         看了一周的《Windows防火墙与网络封包截获技术》,也没看出所以然。于是就想着把DDK中的passthru的源程序安装下看看,到底底层抓包是啥样子的。
         想法是很简单的,首先是如何编译这个驱动程序,那本书上没怎么写,因为书上附带的关盘是编译好了的sys文件。既然不知道如何编译就去驱网上搜罗了下几年的帖子,只有些零星的碎语。
         不过这些只言片语都是很有用的,最后琢磨到如何使用DDK自带的工具编译这些源程序。编译步骤如下:
 
1、点击“开始->所有程序->Development Kits->windows DDK 2600->bulid environment ->winXP Checked Build Environment”

调试完成后,如果编译最终使用的驱动程序,第一项可以更改为:
“开始->所有程序->Development Kits->windows 2000 DDK->Free Build Environment”
 
2、这时会出现cmd窗口,用cd命令进入你要编译的目录中。键入build -cZ命令,系统就可以编译检查模式的驱动程序。
 
这时在D:/Program Files/WINDDK/2600/src/network/ndis/passthru/driver这个目录下,会看到两个inf文件 ----netsf.inf和netdf_m.inf,后来问了下驱动达人才知道这两个inf前者对应sys文件,后者对应dll文件。
 
本以为编译完成了,就可以考虑安装了,首先考虑的是如何安装。《Windows防火墙和网络封包》这本书对于安装驱动的方法更是看不懂,现在想想是明白了许多,对于一次没有装驱动的人来说就不应该那么教。
 
随便在驱网上找了一个QQ问了下那哥们:知道使用bindview工具可以按照驱动程序。于是使用同样的方法编译了D:/Program Files/WINDDK/2600/src/network/config/bindview       
执行bindview.exe如下图:
 
点击install,如下图在弹出的对话框中选择service安装
 
在选择网络服务框中选择从硬盘安装
 
这时点击确定后会有出现问题,系统提示缺少必要得passthru.dll。我仔细查看了下个个文件夹,还是没有这个dll,还是去驱网找原因。看到05年的一个帖子的回帖这么说:
“我 们用passthru的代码,对接收数据报的部分做了修改。然后,我们用DDK自带的builder工具来编译。我一般是用开始菜单中DDK程序组中的 Free Build Environment,到passthru目录下执行build -cz来编译passthru,得到passthru.sys文件,然后再到NTDDK/src/network/config/filter目录下,执 行build -cz来得到sfilter.dll,然后再加上passthru目录下的netsf.inf和netsf_m.inf,一共四个文件。这样,驱动安装所 需要的文件就全了。
   
    打开网络属性,添加服务,找到passthru目录下,安装,弹出没有数字签名的警告,不理,继续安装,最后,你会发现,网络属性中增加了一个名为 Sample Filter的组件,同时,硬件管理器中的网卡下增加了一个Sample Filter Miniport的设备。如果你已经到了这里,并且系统没有出现蓝屏和死机,那么恭喜你,你已经成功地安装上了中间层驱动,并且已经发挥包过滤作用了。”
 
可是我仔细检查了下我的DDK文件夹,根本就没有src/network/config/filter这个目录,莫非这就的DDK装错了,或者我用的xp版的ddk与NTddk不一样??
我把问题丢到了驱动个网络安全这个群里,得到了证实XPDDK的确没有那个文件夹,NT和2000DDK都有的。晕哦。不知道自己的这个dll 要从哪弄到了。群里有人提议,修改inf文件,对于我这个的菜鸟修改inf还是不敢擅自的。多亏了phoenix兄,他告诉我XPDDK在 passthru目录里还有一个文件夹notifyob,这个passthru.dll就存在在这个目录中。果然编译得到此dll。
 
紧接着就是按刚才安装sys的方法安装,先安装inf 然后是dll 然后是另一个inf 最后装sys文件。而且并没有出现蓝屏和死机的现象,大功告成。在本地连接的属性里看到多了一个PassthruDriver的选项,想卸载的时候,可以直接卸载的。
 
测试的时候,使用Driver Studio自带的DriverMonitor或者dbgview.exe,然后通过访问网上邻居访问其他计算机,这时会有调试信息输出到界面上的。
 
整个编译安装测试的过程比较复杂,特别是对于初学者的我来说,我就像小白一样被这个驱动玩着,过不了我也要玩他像玩小白一样。嘿嘿。在此特别感谢phoenix、永远和Drizzle。
 

本文出自 “国产0与1 ” 博客,请务必保留此出处http://qq164587043.blog.51cto.com/261469/86729

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值