首页
社区
课程
招聘
[旧帖] [求助]HookAPI方式截获IE访问的URL 0.00雪花
发表于: 2011-1-7 17:22 28583

[旧帖] [求助]HookAPI方式截获IE访问的URL 0.00雪花

2011-1-7 17:22
28583
要做一个软件,功能是截获IE访问的URL地址。

本人的想法是截获GetAddrInfoW(getaddrinfo的Unicode版本)函数,获得URL的参数。

编写测试程序,调用getaddrinfo和GetAddrInfoW,都可截获到。
但是打开IE输入URL访问,没有反应。
确认我的hook dll已经注入IE。

难道IE解析URL不调用GetAddrInfoW?那是用什么方式?
我在Hook dll里面直接调用GetAddrInfoW,也是能截获到的。貌似IE确实不调用GetAddrInfoW。

求教!!!!!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (32)
雪    币: 57
活跃值: (55)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
你试试connect send ……
2011-1-7 19:51
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我需要的是得到URL,不是IP
2011-1-7 20:05
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
一点想像力都没有
2011-1-7 20:35
0
雪    币: 1163
活跃值: (137)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
5
IE是基于COM的.
枚举IWebBrowser2,再拿到IHTMLDocument2
IHTMLDocument2::get_URL

delphi里有TInternet_Explorer类,可以绑定OnNavigate2事件,然后通过参数拿url,这样健康些~
2011-1-7 20:46
0
雪    币: 30050
活跃值: (2422)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
正解.
其实也没必要HOOK.挂接COM接口即可.
附件是Delphi写的,没用HOOK.
测试方法:运行后(无界面,任务管理器可以看到).打开163或21cn之类,随便输入个户名密码,回车或提交后即可被拦截并MsgBox出来
上传的附件:
2011-1-7 22:03
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
先谢谢6楼的
有没有VC的代码
还有,我是需要访问了网页,就得到URL信息。。。。
2011-1-7 22:07
0
雪    币: 30050
活跃值: (2422)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
那你搞个SNIFF不就结了么....最简单的RAW SOCKET都可以.
2011-1-7 22:09
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
挂钩wininet 另外一贴中有回复
2011-1-7 22:52
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
9楼的给个链接啊
2011-1-8 09:01
0
雪    币: 1969
活跃值: (46)
能力值: (RANK:550 )
在线值:
发帖
回帖
粉丝
11
以前用VC写的一个DEMO 仅供参考
上传的附件:
2011-1-8 11:50
0
雪    币: 110
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
路过,学习一下感谢hawking和bestbird
2011-1-8 13:11
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
首先谢谢11楼,但是在win7下不起作用,这个程序是能支持win7的吗?
2011-1-9 12:16
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
Win7下是SendMessage的问题,不过代码怎么才能支持对Maxthon等其他以IE为内核的浏览器?
2011-1-9 15:36
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
采鸟飞过。来这学习;来的
2011-1-9 20:00
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
试过了,确实啊
2011-1-9 21:03
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
17
我只测试过XP sp2 IE6,GetAddrInfoA成功
2011-1-10 10:57
0
雪    币: 1137
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
18
楼主可以去看看HTTPAnalyzer这个工具~~

它就是通过Hook来实现的~你可看看看它到底Hook了哪些函数~
2011-1-12 10:24
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
方法1:BHO插件  IE是基于COM IWebBrowser2的
方法2:HOOK Socket的Send,分析数据包中的URL
2011-1-12 16:03
0
雪    币: 30050
活跃值: (2422)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
20
再次建议看看我那附件吧.
纯exe,不用dll,也不用插进程的.
不管什么BHO还是HOOK,都难逃这两个吧.
2011-1-17 02:01
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
21
你那个附件能开源吗?
2011-1-17 10:00
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
推荐楼主用winpcap, 过滤HTTP报文即可。
2011-1-17 22:31
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
HereZhou ,22楼的兄弟。
请教一下,用winpcap能否知道截获的报文来自哪个进程?相关的接口函数是什么?
2011-1-17 22:57
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
24
分析报文能分析出来是哪个浏览器内核的  比如firefox内核的浏览器  截获的报文类似附件这样:
这样截获报文有个好处  就是能截获全局http协议的通信  不管你是浏览器   还是一些有浏览器插件的软件  不管你有界面还是无界面  很强大。
分析来自哪个进程好像不行吧。。。。
上传的附件:
2011-1-17 23:28
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
这里果然高手多!
2011-1-20 21:37
0
游客
登录 | 注册 方可回帖
返回
//