教你怎么屏蔽掉在移动端的宽带运营商的流量劫持,屏蔽无耻的广告
2016-01-02 13:46
891 查看
自从住进了租房以来,在使用租房的宽带的时候总有个问题,已经几个月了,今天我实在无法忍受这些广告了。决定要整治这些劫持广告。
一开始想到用socks5代理,需要自己租服务器,而且很麻烦,而且我研究了下劫持的页面,并且从网上也发现了一些其它用户遇到的问题。
这里有一个链接:
http://bbs.kafan.cn/thread-1856999-1-1.html
上面这个链接详细描述了劫持的毒害。。。。
我主要遇到下面几个类型的劫持:
类型一:输入百度的时候,后面会自动被加上尾巴然后进行跳转。尤其是输入www.hao123.com的时候,会跳转到http://www.hao123.com/?tn=94150859_hao_pg
但是如果你使用https://www.baidu.com是没法跳转的,建议大家修改自己的chrome的浏览器的默认搜索引擎,加上https,还好百度开启了https,这时候我深感推广https的重要性。没有https的话,这些运营商想怎么改你的网页就怎么修改。
类型二:就是常见的右下角广告了,这个还好解决,装上adblock plus就可以一劳永逸了。
但是真正让我苦恼的是下面的类型三:
类型三:手机访问网页的时候,运营商会根据你的UA来植入广告,这个广告是和pc上浏览器的是不同的。
这个广告是类似于我们玩手游的时候,在网页中间插入一个广告悬浮窗达到目的。。。这移动端的广告还真是与时俱进啊
下面自己感受一下这个广告,我有强迫症的简直无法忍受。
点开右侧那个悬浮广告,就会出现下面这个了:
再看一下下面的声明,多么无耻,没有下限啊。。。
还无毒,你知不知道你造成了骚扰啊。
这个玩意的毒害真的太大了。
主要是使用了WebView的app,app在用webview加载网页的时候,此广告都会识别浏览器中携带的ua信息,自动植入。。。
我看的今日头条app在我租房的wifi下基本无法使用,今日头条很多h5的页面,被强行修改了页面内容。无法浏览。
同时查看微信公众号的东西,中间同样出现悬浮窗,我不理解为什么微信不尽早使用https。
后面我开始想办法解决这个毒瘤了。
既然你是通过ua识别的,首先我通过chrome的device mode,设置为nexus7设备访问,刷新几次页面之后,如愿所偿的出现了广告。
于是我修改ua(chrome在device 模式下的ua是可以修改的),将ua修改为f u c k。
果然没有移动广告了,但是右下角广告就出现了。。。
好吧我不修改ua,在ua后面加入足够多的乱码。经过一番测试,加到500多个没用字符之后,不再出现广告了。
个人理解为:这个劫持商要劫持那么多用户,肯定对http header的长度有所限制,超出这个限制之后,它就不会再劫持了,否则他自己的服务器压力也很大的。
到此,这个方案已经有效了,接下来是怎么运用到android平台上。
这时候需要用到一个android上的神器框架xposed。不了解的读者可以自行百度一下。
思路:使用xposed框架hook webView控件的loadUrl,在loadUrl之前将webView的ua修改为足够长。
我的xposed代码很简单,几行就解决了这个劫持问题了。
上面的ua,是找到一个移动端适用的ua,然后后面加上500多个没用字符。移动端ua是一定要的,我发现如果我没用移动端ua的话,有些app是会拒绝加载的,因为他们需要ua里面的Android这个关键字。
一开始想到用socks5代理,需要自己租服务器,而且很麻烦,而且我研究了下劫持的页面,并且从网上也发现了一些其它用户遇到的问题。
这里有一个链接:
http://bbs.kafan.cn/thread-1856999-1-1.html
上面这个链接详细描述了劫持的毒害。。。。
我主要遇到下面几个类型的劫持:
类型一:输入百度的时候,后面会自动被加上尾巴然后进行跳转。尤其是输入www.hao123.com的时候,会跳转到http://www.hao123.com/?tn=94150859_hao_pg
但是如果你使用https://www.baidu.com是没法跳转的,建议大家修改自己的chrome的浏览器的默认搜索引擎,加上https,还好百度开启了https,这时候我深感推广https的重要性。没有https的话,这些运营商想怎么改你的网页就怎么修改。
类型二:就是常见的右下角广告了,这个还好解决,装上adblock plus就可以一劳永逸了。
但是真正让我苦恼的是下面的类型三:
类型三:手机访问网页的时候,运营商会根据你的UA来植入广告,这个广告是和pc上浏览器的是不同的。
这个广告是类似于我们玩手游的时候,在网页中间插入一个广告悬浮窗达到目的。。。这移动端的广告还真是与时俱进啊
下面自己感受一下这个广告,我有强迫症的简直无法忍受。
点开右侧那个悬浮广告,就会出现下面这个了:
再看一下下面的声明,多么无耻,没有下限啊。。。
还无毒,你知不知道你造成了骚扰啊。
这个玩意的毒害真的太大了。
主要是使用了WebView的app,app在用webview加载网页的时候,此广告都会识别浏览器中携带的ua信息,自动植入。。。
我看的今日头条app在我租房的wifi下基本无法使用,今日头条很多h5的页面,被强行修改了页面内容。无法浏览。
同时查看微信公众号的东西,中间同样出现悬浮窗,我不理解为什么微信不尽早使用https。
后面我开始想办法解决这个毒瘤了。
既然你是通过ua识别的,首先我通过chrome的device mode,设置为nexus7设备访问,刷新几次页面之后,如愿所偿的出现了广告。
于是我修改ua(chrome在device 模式下的ua是可以修改的),将ua修改为f u c k。
果然没有移动广告了,但是右下角广告就出现了。。。
好吧我不修改ua,在ua后面加入足够多的乱码。经过一番测试,加到500多个没用字符之后,不再出现广告了。
个人理解为:这个劫持商要劫持那么多用户,肯定对http header的长度有所限制,超出这个限制之后,它就不会再劫持了,否则他自己的服务器压力也很大的。
到此,这个方案已经有效了,接下来是怎么运用到android平台上。
这时候需要用到一个android上的神器框架xposed。不了解的读者可以自行百度一下。
思路:使用xposed框架hook webView控件的loadUrl,在loadUrl之前将webView的ua修改为足够长。
我的xposed代码很简单,几行就解决了这个劫持问题了。
public static final String ua="Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2307.2 Safari/537.360123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199"; @Override public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable { // TODO Auto-generated method stub XposedHelpers.findAndHookMethod("android.webkit.WebView", lpparam.classLoader, "loadUrl", String.class,new XC_MethodHook() { @Override protected void beforeHookedMethod(MethodHookParam param) throws Throwable { // TODO Auto-generated method stub Object thisObj=param.thisObject; if(thisObj instanceof WebView){ ((WebView) thisObj).getSettings().setUserAgentString(ua); } } }); }
上面的ua,是找到一个移动端适用的ua,然后后面加上500多个没用字符。移动端ua是一定要的,我发现如果我没用移动端ua的话,有些app是会拒绝加载的,因为他们需要ua里面的Android这个关键字。
相关文章推荐
- 根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
- php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
- 关于IE11修改User-agent不再支持document.all等
- php中get_meta_tags()、CURL与user-agent用法分析
- 根据USER-AGENT判断手机类型并跳转到相应的app下载页面
- python使用自定义user-agent抓取网页的方法
- postman指定User-Agent的header无效
- 系统函数dlopen()被劫持导致symbol找不到的问题记录
- 解决IE主页被www.13721.net劫持。
- 浏览器User-agent String里的历史故事
- Xposed源码分析
- Xpose模块开发
- Xpose实例分析-变色龙
- android权限管理, API劫持, xposed, xprivacy
- xposed 模块开发
- 解决主页被 hao.360.cn 劫持 及 分析
- HTTP请求头具体含意
- Java通过浏览器请求头(User-Agent)获取 浏览器类型,操作系统类型,手机机型
- chrome 主页被篡改为hao123?技术宅带你层层深入破之 -转自知乎
- detours 游戏外挂:劫持技术