cyhan
驱动牛犊
驱动牛犊
  • 注册日期2001-04-24
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2182回复:4

NDIS的Hook小问题?

楼主#
更多 发布于:2001-04-24 15:50

在NDIS中可以拦截NdisSend,截到所有发送的IP包,请问要拦截
所有接收的IP包得拦截哪个服务?找不到类似NdisRecevice的服务
谢谢。
gfsoft
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录2005-10-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-04-24 23:14
A filter-hook driver can only be installed on the Microsoft? Windows? 2000 operating system and later versions.

ndis hook 是在IP filter driver 的基础上进行过滤的,
天网防火墙就是这样做的,
typedef  PF_FORWARD_ACTION
(*PacketFilterExtensionPtr)(
  IN unsigned char *PacketHeader,
  IN unsigned char *Packet,
  IN unsigned int PacketLength,
  IN unsigned int RecvInterfaceIndex,
  IN unsigned int SendInterfaceIndex,
  IN IPAddr RecvLinkNextHop,
  IN IPAddr SendLinkNextHop
  );

有信心不一定会赢,没有信心一定会输
gfsoft
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录2005-10-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-04-27 17:26
不好意思,我没有研究9x下的,
有信心不一定会赢,没有信心一定会输
Netguy
驱动牛犊
驱动牛犊
  • 注册日期2001-04-02
  • 最后登录2012-05-25
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望17点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-04-28 17:43
要截获接收的包的话,需要hook NDIS.VxD的NdisRegisterProtocol、NdisDeregisterProtocol,自己写的driver需要静态加载。

每个protocol driver在加载时都会调用NdisRegisterProtocol注册它自己的ProtocolReceiveXXX( )回调函数,此时就可以用自己的receive( )函数替换掉该protocol的相应函数。

当protocol driver卸载时会调用NdisDeregisterProtocol,这时就可以卸掉对ProtocolReceiveXXX( )的hook。
ltcake
驱动牛犊
驱动牛犊
  • 注册日期2002-11-29
  • 最后登录2002-12-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-05 12:50
    f
游客

返回顶部