您的位置:首页 > 移动开发 > Android开发

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实现通知栏广告拦截。通过拦截应用的消息机制,遍历顶层界面中的控件,如果控件包名与广告包名一致,那么增加一个关闭按钮,用户可以通过关闭按钮关闭广告。
以上纯属个人理解,有不足之处,望多多指教交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: