过滤驱动开发笔记(4)

资料看差不多了,开始动手改造Passthru

发布的软件不能还叫Passthru吧,首先要改名。有几个地方需要动的:

1.编译目标文件,在sources文件中定义,改掉TARGETNAME即可。

2.目标文件变了,安装也要变,于是修改netsf.infnetsf_m.inf,把Passthru全部改掉。

3.应用层调用也要改改,这就涉及到程序了,在passthru.c中进行修改。

编译,测试。再修改,测试,很快就把这个问题搞定了。现在这个安装过程看起来完全是我自己的,哈哈!

然后开始过滤测试,先拿收包开刀。修改PtReceivePtReceivePacket函数,直接丢包,看起来不错,完全无法上网了。接着进行包的分析,丢弃所有ICMP,又通过了,开心!进一步对地址进行分析,只过滤部分ICMP,很顺利。通过Debug信息跟踪发现,PtReceivePtReceivePacket函数都有调用,具体情况有待进一步分析。

顺便分析了BindingContext参数,一开始看到PADAPTDeviceName是我安装的虚拟驱动,以为传进来的是自身信息。但仔细一想好像没什么道理,结合PtBindAdapter,发现参数首地址与实际网卡一致,又掉头来检查参数里的名字,才发现原来它绑定每块网卡有不同的名字,实际上跟物理网卡还是对应的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值