Android去广告技术总结
2013-12-20 10:32
225 查看
/*
* 作者:蟑螂一号
* 原文链接:http://www.sanwho.com/115.html
* 转载请注明出处
*/
Android中去广告软件有很多款,比如AdAway、adblock plus、360手机卫士、金山毒霸、lbe等。这些软件区广告各有优势,并且实现技术也有差别。比如AdAway是一款基于修改hosts文件的Android屏蔽广告软件。金山毒霸是基于root条件下so注入技术实现广告拦截。
Android去广告技术可归纳如下:
1.apk反编译修改
这种方法原理是直接反编译apk,然后修改apk中显示广告的字节码达到广告屏蔽目的。
2.修改hosts文件
AdAway就是基于修改hosts文件达到去广告目的。修改hosts文件需要root权限。该种方法需要收集大量广告域名,并将广告域名在hosts文件中的解析指向为127.0.0.1。
3.基于C层socket拦截
该种广告涉及到android进程注入,需要拦截远程进程的socket函数调用。比如拦截connect函数,在connect函数中如果ip地址是广告ip地址,将广告ip地址修改为127.0.0.1。
4.基于Java层拦截
java层API拦截去广告代表软件金山毒霸。该软件通过so注入,加载jar包,然后拦截java层API实现函数拦截。java层拦截,可以通过拦截NotificationManager中的api实现通知栏广告拦截。通过拦截应用的消息机制,遍历顶层界面中的控件,如果控件包名与广告包名一致,那么增加一个关闭按钮,用户可以通过关闭按钮关闭广告。
以上纯属个人理解,有不足之处,望多多指教交流。
* 作者:蟑螂一号
* 原文链接:http://www.sanwho.com/115.html
* 转载请注明出处
*/
Android中去广告软件有很多款,比如AdAway、adblock plus、360手机卫士、金山毒霸、lbe等。这些软件区广告各有优势,并且实现技术也有差别。比如AdAway是一款基于修改hosts文件的Android屏蔽广告软件。金山毒霸是基于root条件下so注入技术实现广告拦截。
Android去广告技术可归纳如下:
1.apk反编译修改
这种方法原理是直接反编译apk,然后修改apk中显示广告的字节码达到广告屏蔽目的。
2.修改hosts文件
AdAway就是基于修改hosts文件达到去广告目的。修改hosts文件需要root权限。该种方法需要收集大量广告域名,并将广告域名在hosts文件中的解析指向为127.0.0.1。
3.基于C层socket拦截
该种广告涉及到android进程注入,需要拦截远程进程的socket函数调用。比如拦截connect函数,在connect函数中如果ip地址是广告ip地址,将广告ip地址修改为127.0.0.1。
4.基于Java层拦截
java层API拦截去广告代表软件金山毒霸。该软件通过so注入,加载jar包,然后拦截java层API实现函数拦截。java层拦截,可以通过拦截NotificationManager中的api实现通知栏广告拦截。通过拦截应用的消息机制,遍历顶层界面中的控件,如果控件包名与广告包名一致,那么增加一个关闭按钮,用户可以通过关闭按钮关闭广告。
以上纯属个人理解,有不足之处,望多多指教交流。
相关文章推荐
- Android平台上的注入代码
- Android调用Google Map
- Android开发 使用Lame把音频文件转换成mp3格式
- Android防注入研究
- android 电池状态侦听显示 电量 充电动态显示
- Android中创建MediaPlayer两种方法
- 修改Android中AVD的目录
- Titanium基础知识:Mobile Web开发入门
- 用最简单最实用的方式实现ViewPager无限循环两种方式
- 回顾Google这一年——Android篇
- android中同一个textview中使字体不一致,一大一小
- android SQLiteOpenHelper使用示例
- Android中使用handler
- 说说Android上的断点续传下载
- android 4.2 MMS listVIew平滑滚动到列表最后一项的效果
- android系统自带样式(转)
- Android编译系统详解 配置文件
- android中定时器的三种方法——新手进阶
- android 4.2.2源码下载地址分析(安卓4.2.2源码)
- android 4.3关键词