广告拦截软件原理探讨

chenyu2202863 2011-12-31 02:22:09
现在桌面软件广告泛滥,譬如QQ、360、暴风等等这些桌面软件经常启动时就弹窗广告、搜狗输入法更过分,经常运行过程中来广告,
那如何进行这些桌面软件广告的拦截呢?
知道3721是可以达到拦截广告的目的,只是他好像用的钩子,造成系统缓慢,比广告还烦!
大家可以说说自己的想法,谢谢!


如果是IE浏览器,对于广告的拦截又是如何呢(没有玩过BHO)?
...全文
1121 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
BonseYuan 2014-08-14
  • 打赏
  • 举报
回复
引用 19 楼 muyfmuyfj 的回复:
Hook WinsockLSP协议,先检查是否为要过滤的软件, 如果是,Hook WSPSend,拦截http协议头并检查, 若是广告,关闭socket并返回错误,我这里有delphi 的源代码
若在linux,你说的有用吗??
bbc9527 2013-03-02
  • 打赏
  • 举报
回复
引用 19 楼 muyfmuyfj 的回复:
Hook WinsockLSP协议,先检查是否为要过滤的软件, 如果是,Hook WSPSend,拦截http协议头并检查, 若是广告,关闭socket并返回错误,我这里有delphi 的源代码
下了你的代码 但是没看到有过滤的部分啊?
muyfmuyfj 2012-10-27
  • 打赏
  • 举报
回复
Hook WinsockLSP协议,先检查是否为要过滤的软件,
如果是,Hook WSPSend,拦截http协议头并检查,
若是广告,关闭socket并返回错误,我这里有delphi
的源代码
chenyu2202863 2012-01-07
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 qq752923276 的回复:]

拦截窗口可以hook WH_CBT
[/Quote]

这个知道,关键是怎样判断窗口是广告窗口或者在主体内有内容也有广告,比如迅雷
chenyu2202863 2012-01-07
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hhyhw2001 的回复:]

这几个软件的设置里面可以去掉大部分广告,自动启动, 自动更新等功能,去设置里面看看
[/Quote]

有些软件是否弹出广告是不可定制的
chenyu2202863 2012-01-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 akirya 的回复:]

1 逆向

例如 QQ珊瑚虫
采用了逆向QQ代码,修改内存数据,直接屏蔽显示广告部分的代码。不好之处就是得跟着软件版本升级。

2 枚举窗口,然后关闭特定进程的特定窗口 ,可根据窗口类名或标题名。
想精确的话再枚举一下窗口下的控件 列表,看看。基本上就能判断出来了。

3 用没光告的软件
[/Quote]

谢谢,很有用
醉马不肖 2012-01-07
  • 打赏
  • 举报
回复
大部分都是走HTTP协议的,得在这方面研究一下了
__lhy 2012-01-07
  • 打赏
  • 举报
回复
拦截窗口可以hook WH_CBT
hhyhw2001 2012-01-07
  • 打赏
  • 举报
回复
这几个软件的设置里面可以去掉大部分广告,自动启动, 自动更新等功能,去设置里面看看
  • 打赏
  • 举报
回复
1 逆向

例如 QQ珊瑚虫
采用了逆向QQ代码,修改内存数据,直接屏蔽显示广告部分的代码。不好之处就是得跟着软件版本升级。

2 枚举窗口,然后关闭特定进程的特定窗口 ,可根据窗口类名或标题名。
想精确的话再枚举一下窗口下的控件 列表,看看。基本上就能判断出来了。

3 用没光告的软件
chenyu2202863 2012-01-06
  • 打赏
  • 举报
回复
桌面程序弹出的广告如何处理,有好的想法吗?
Eleven 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 programmerno1 的回复:]
学习了
另外 BHO全称是啥?
[/Quote]
http://www.vckbase.com/document/viewdoc/?id=1426
chenyu2202863 2012-01-04
  • 打赏
  • 举报
回复
还有其他思路没?
ProgrammerNO1 2011-12-31
  • 打赏
  • 举报
回复
学习了
另外 BHO全称是啥?
chenyu2202863 2011-12-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zzz3265 的回复:]

自己写了个程序自己用, 注册表添加AppInit_DLLs, 注入到所有进程
然后拦截API: getaddrinfo, InternetOpenUrl, HttpOpenRequest, HttpSendRequest...
可以针对域名, 也可以对URL
[/Quote]

针对不同的URL,这个量太大了,更新也不会及时,过程繁琐了
chenyu2202863 2011-12-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 evemaple 的回复:]

拦截createwindow....
[/Quote]

createWindow完全就不知道是否是非正常用户点击出的窗口,~这就是难点所在
evemaple 2011-12-31
  • 打赏
  • 举报
回复
拦截createwindow....
wtbike 2011-12-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zzz3265 的回复:]

自己写了个程序自己用, 注册表添加AppInit_DLLs, 注入到所有进程
然后拦截API: getaddrinfo, InternetOpenUrl, HttpOpenRequest, HttpSendRequest...
可以针对域名, 也可以对URL
[/Quote]
冒昧的问一下,你写的这个程序能给我发一份吗?
要是有代码就更好了。
本人邮箱是wtbike@163.com
感激不尽!
Yofoo 2011-12-31
  • 打赏
  • 举报
回复
自己写了个程序自己用, 注册表添加AppInit_DLLs, 注入到所有进程
然后拦截API: getaddrinfo, InternetOpenUrl, HttpOpenRequest, HttpSendRequest...
可以针对域名, 也可以对URL
oyljerry 2011-12-31
  • 打赏
  • 举报
回复
浏览器一般POPup是单独的iframe等,所以可以过滤,BHO可以做到
对于窗口的只能区分对待,因为不同软件,窗口实现不一样,有些可能是标准MFC对话框,有些可能是自己画的,没法统一来过滤

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧