cn2377
驱动牛犊
驱动牛犊
  • 注册日期2002-06-14
  • 最后登录2002-07-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1509回复:3

关于ndis hook的讨论?

楼主#
更多 发布于:2002-07-10 17:37
在此请教一个关于ndis hook的问题,请大家帮助指正一下。
问题是:
1、在装有SyGate代理上网的网关机器上采用ndis hook,可只能得到终端发向网关的数据流,而不能得到网关向终端发的数据流。
2、如网关采用Internet连接共享代理上网,则没有上面的问题,数据流都可以得到。
请坛主及各位大虾指点一下,如能用QQ及emial进行交流更好。
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-12 22:54
在此请教一个关于ndis hook的问题,请大家帮助指正一下。
问题是:
1、在装有SyGate代理上网的网关机器上采用ndis hook,可只能得到终端发向网关的数据流,而不能得到网关向终端发的数据流。
2、如网关采用Internet连接共享代理上网,则没有上面的问题,数据流都可以得到。
请坛主及各位大虾指点一下,如能用QQ及emial进行交流更好。

原因可能是SyGate可能使用IMD技术,而IMD的包转发过程在你的NDIS HOOK DRIVER下层,所以无法得到数据流。
我思故我在,脑袋不会坏.
.X.T.I.M.
驱动大牛
驱动大牛
  • 注册日期2001-09-22
  • 最后登录2021-08-25
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-13 02:46
[quote]在此请教一个关于ndis hook的问题,请大家帮助指正一下。
问题是:
1、在装有SyGate代理上网的网关机器上采用ndis hook,可只能得到终端发向网关的数据流,而不能得到网关向终端发的数据流。
2、如网关采用Internet连接共享代理上网,则没有上面的问题,数据流都可以得到。
请坛主及各位大虾指点一下,如能用QQ及emial进行交流更好。

原因可能是SyGate可能使用IMD技术,而IMD的包转发过程在你的NDIS HOOK DRIVER下层,所以无法得到数据流。
 [/quote]
老兄这么说不够严谨,其实通过修改PE-EXPORT表的HOOK应该是在最底层,他说的应该是你用的假协议的方式!我认为是绑定次序的问题!这个问题其实很好解决!但是因为你的问题描述的不是非常清楚!所以我建议你做个实验!你去看看网上邻居的属性的高级菜单里面的高级设置!这里是负责服务的绑定次序的!如果SYGATE是一个服务的话那么就应该在这里有出现,如果不是的话我怀疑SYGATE应该也是修改PE-EXPORT SECTION的HOOK!而且执行在你之前!这样的情况一般是由于你先安装了SYGATE然后再安装你的HOOK驱动造成的!如果你和他都是用修改PE的方法HOOK的那么你必须想办法让自己的驱动比他先启动!如果你是用假协议而他是用修改PE的方法的话你就不用想得到包了!如果你们都是用假协议的话,你就得让自己最后一个被加载~~这个问题想想起来还是挺有意思的~~其实可以使用一些卑鄙点的暴力手段在注册表上下工夫!不过这样做的后果就是很被动~~不过我觉得是IMD的可能不是很大!先去看看我说的地方再说吧~其实你花点时间看看他的注册表和INF是怎么写的就知道他是怎么做的了!把这个描述清楚了也方便讨论嘛~~
<IMG src="http://www.microsoft.com/traincert/images/logos/mcp.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcdba.gif" border=0><br> <IMG src="http://www.microsoft.com/traincert/images/logos/mcse.gif" border=0> <IMG src="http://www.microsoft.com/traincert/images/logos/mcsd.gif" border=0>
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-15 11:09
[quote][quote]在此请教一个关于ndis hook的问题,请大家帮助指正一下。
问题是:
1、在装有SyGate代理上网的网关机器上采用ndis hook,可只能得到终端发向网关的数据流,而不能得到网关向终端发的数据流。
2、如网关采用Internet连接共享代理上网,则没有上面的问题,数据流都可以得到。
请坛主及各位大虾指点一下,如能用QQ及emial进行交流更好。

原因可能是SyGate可能使用IMD技术,而IMD的包转发过程在你的NDIS HOOK DRIVER下层,所以无法得到数据流。
 [/quote]
老兄这么说不够严谨,其实通过修改PE-EXPORT表的HOOK应该是在最底层,他说的应该是你用的假协议的方式!我认为是绑定次序的问题!这个问题其实很好解决!但是因为你的问题描述的不是非常清楚!所以我建议你做个实验!你去看看网上邻居的属性的高级菜单里面的高级设置!这里是负责服务的绑定次序的!如果SYGATE是一个服务的话那么就应该在这里有出现,如果不是的话我怀疑SYGATE应该也是修改PE-EXPORT SECTION的HOOK!而且执行在你之前!这样的情况一般是由于你先安装了SYGATE然后再安装你的HOOK驱动造成的!如果你和他都是用修改PE的方法HOOK的那么你必须想办法让自己的驱动比他先启动!如果你是用假协议而他是用修改PE的方法的话你就不用想得到包了!如果你们都是用假协议的话,你就得让自己最后一个被加载~~这个问题想想起来还是挺有意思的~~其实可以使用一些卑鄙点的暴力手段在注册表上下工夫!不过这样做的后果就是很被动~~不过我觉得是IMD的可能不是很大!先去看看我说的地方再说吧~其实你花点时间看看他的注册表和INF是怎么写的就知道他是怎么做的了!把这个描述清楚了也方便讨论嘛~~ [/quote]


HEHE,老兄教训的是,我手头上没有SYGATE的程序所以只是猜测。
对于我所说的ndis hook是指所谓现在论坛里所说的注册假协议法吧,说老实话我对这两种术语都不认同。因为说的都不正确。其实注册假协议的方法更像是对协议的包裹(protocol-wrapping)
其本身还是协议驱动。所以IMD在其之下是没有错的。



我思故我在,脑袋不会坏.
游客

返回顶部