阅读:4496回复:33
如何Hook函数 NdisMIndicateReceivePacket? 400分请教。
查看ndis.h,发现这个函数其实是个宏定义,实际上是调用网卡HANDLE的PacketIndicateHandler函数,这个函数我在MiniportInitialize的时候已经Hook,可是很不幸的是,我还是拦截不到这个函数的调用,通过分析,发现原来是这个地方在我hook后,本来指向我的函数代码,却不知道在什么时候已经被人串改,换了一个不知道是哪个模块的地址。
400分请教: 1。 这个地址是被什么模块修改的? 2。 修改这个地址的模块用什么API调用修改的? 3。 有什么方法可以在知道这个地址被修改后得到通知? |
|
沙发#
发布于:2002-08-22 15:00
对
|
|
板凳#
发布于:2002-08-17 22:17
可是我想追求一种正道,不是这种小道。 可是基础都是微软的,正道走多了就大家没饭吃了。 有时候真的很让人沮丧,当你辛苦研究出些什么的时候, 发现自己的处境居然和NETSCAPE一样。:( |
|
|
地板#
发布于:2002-08-15 12:33
[quote]嘿,我用了一种土法,就是hook了ISRHandler,当每次ISRHandler被触发的时候,我检测一下我的回调函数是否被替换,如果是,我重新hook, 这样果然是能拦截到NdisMIndicateReceivePacket,不过这也是否太老土了?:( 土就土点呗,有效就行嘛. [/quote] 可是我想追求一种正道,不是这种小道。 |
|
地下室#
发布于:2002-08-12 15:04
嘿,我用了一种土法,就是hook了ISRHandler,当每次ISRHandler被触发的时候,我检测一下我的回调函数是否被替换,如果是,我重新hook, 这样果然是能拦截到NdisMIndicateReceivePacket,不过这也是否太老土了?:( 土就土点呗,有效就行嘛. |
|
|
5楼#
发布于:2002-08-10 15:53
还没搞好?苯死啦! 搞什么?干什么? 你要看什么? 挨了板砖想骂人阿? |
|
6楼#
发布于:2002-08-09 18:31
还没搞好?苯死啦!
快干,等着看那。 |
|
|
7楼#
发布于:2002-08-09 11:02
[quote][quote][quote]我恨不得捡起一块板砖就拍在老mo头上。 我受不了了,刚这么一会竟然挨了一砖头! 我要强调的是:这里可以使用hook但不能使用砖头! :mad: :mad: [/quote] 可以使用hook,你想让我们hook你什么?要是hook脚的话,我做两只假脚装到你身上,把你的原来那两只脚取下保存起来?放心吧,我的hook质量有保证,绝对不让你死机。 [/quote] fracker会在你的腿上装个定时器,定期查看你腿下面的是不是你的脚,如果不是,就再hook一遍,哈哈! [/quote] 错了不是?错有两点: 1。我查看的不是他的腿下面是不是他的腿,而是查看他的腹股沟下面是不是他的腿。 2。我也没有在他的腿上装定时器,我只是在他抬腿走路的时候,看看他抬的腿是不是我给他装的。 |
|
8楼#
发布于:2002-08-09 10:57
我也要去找板砖啦。 :D :D
|
|
|
9楼#
发布于:2002-08-09 10:50
[quote][quote]我恨不得捡起一块板砖就拍在老mo头上。 我受不了了,刚这么一会竟然挨了一砖头! 我要强调的是:这里可以使用hook但不能使用砖头! :mad: :mad: [/quote] 可以使用hook,你想让我们hook你什么?要是hook脚的话,我做两只假脚装到你身上,把你的原来那两只脚取下保存起来?放心吧,我的hook质量有保证,绝对不让你死机。 [/quote] fracker会在你的腿上装个定时器,定期查看你腿下面的是不是你的脚,如果不是,就再hook一遍,哈哈! |
|
10楼#
发布于:2002-08-09 09:42
还可不可以用hook ? 老MO 。。。。
|
|
11楼#
发布于:2002-08-09 09:39
[quote]我恨不得捡起一块板砖就拍在老mo头上。 我受不了了,刚这么一会竟然挨了一砖头! 我要强调的是:这里可以使用hook但不能使用砖头! :mad: :mad: [/quote] 可以使用hook,你想让我们hook你什么?要是hook脚的话,我做两只假脚装到你身上,把你的原来那两只脚取下保存起来?放心吧,我的hook质量有保证,绝对不让你死机。 |
|
12楼#
发布于:2002-08-08 23:01
[quote][quote]我恨不得捡起一块板砖就拍在老mo头上。 我受不了了,刚这么一会竟然挨了一砖头! 我要强调的是:这里可以使用hook但不能使用砖头! :mad: :mad: [/quote] 考虑到hook的杀伤力实在太大,从爱护人才的角度出发, 我才考虑了板砖 :-) 。 [/quote] :D |
|
|
13楼#
发布于:2002-08-08 20:31
[quote]我恨不得捡起一块板砖就拍在老mo头上。 我受不了了,刚这么一会竟然挨了一砖头! 我要强调的是:这里可以使用hook但不能使用砖头! :mad: :mad: [/quote] 考虑到hook的杀伤力实在太大,从爱护人才的角度出发, 我才考虑了板砖 :-) 。 |
|
|
14楼#
发布于:2002-08-08 19:48
我恨不得捡起一块板砖就拍在老mo头上。 我受不了了,刚这么一会竟然挨了一砖头! 我要强调的是:这里可以使用hook但不能使用砖头! :mad: :mad: |
|
|
15楼#
发布于:2002-08-08 18:27
嘿,我用了一种土法,就是hook了ISRHandler,当每次ISRHandler被触发的时候,我检测一下我的回调函数是否被替换,如果是,我重新hook, 这样果然是能拦截到NdisMIndicateReceivePacket,不过这也是否太老土了?:(
哪位还有更科学的招数?给分继续有效。 |
|
16楼#
发布于:2002-08-08 18:02
我说是用ndis hook protocol的方法做时,在protocol_block,open_block〉都有sendcompletehandler,而open_block里的一个指针所指的结构里面还有一个,开始的时候我只拦截了两个,可是没想到还有一个,最后在gjpland的帮助也才hook了第三个,才搞定的!
还有sendhandler的地址会变,我只知道插拔网线会使它变化,其他什么情况我就不知道了,所以一直想知道! 你看能不能进到你的函数,如果进不到可能就是还有其他的handler,如果进到了,那就是说它在变化,再查找原因! |
|
17楼#
发布于:2002-08-08 17:02
我恨不得捡起一块板砖就拍在老mo头上。 老mo要是挨了这一板砖,他可亏大了,他还是得不到我得分,我的要求是怎么hook NdisMIndicateReceivePacket, 不是简单的得到进来的包,hook ptreceive,要做的话我早就做了,之所以不这样做,理由有二: 1。 完全基于网卡拦截数据,可以搞到第一手的资料。 2。 用别人没用过的方法来实现。 大家开拓思想,在想新方。 BTW:鼓励大家一下,再加100分。 |
|
18楼#
发布于:2002-08-08 16:43
老mo赶紧跑,老胡追来了。。。。。
|
|
|
19楼#
发布于:2002-08-08 16:36
老mo要负伤了!!!
:D :D :D 嗬嗬! |
|
|
上一页
下一页