乐安全内嵌广告屏蔽原理

android去广告实现原理,分析某视频软件加载方案和去广告原理 分析某视频软件加载方案和去广告原理0x1用到的工具:AndroidKillereclipsejd-guiAndroid逆向助手0x2拿到APK后首先想到的是是否有签名验证,因此用逆向助手重新签名安装或者用AK回编译安装后,应用均可以正常使用,没有签名验证。0x3安装腾讯视频到手机上或者模拟器上,打开eclipse,运行应用,看是否有输出,这个想法是看了淡然大神的帖子http://blog.csdn... 阅读详情

一、原理

分析完了手机毒霸去广告功能的原理,接下来我们来看看“乐安全”是如何去内嵌广告的。对手机毒霸去广告功能感兴趣的读者可以看一下我们之前发的三篇技术博客:

手机毒霸去广告功能分析一:总体分析

http://blog.sina.com.cn/s/blog_be6dacae01018hjg.html

手机毒霸去广告功能分析二:广告View的识别

http://blog.sina.com.cn/s/blog_be6dacae01018lfb.html

手机毒霸去广告功能分析三:java代码(dex)注入

http://blog.sina.com.cn/s/blog_be6dacae01018pz2.html

 

好,言归正传。乐安全的去内嵌广告功能非常强大(如图)。



整个去内嵌广告功能就一个开关,“一键拦截全部应用内嵌广告”。要使用这个功能必须首先获得root权限。一开始笔者以为乐安全和手机毒霸的原理差不多,也是通过进程注入广告应用进程,然后将广告View隐藏来实现的。可是当笔者将广告应用进程的/proc/xxxx/maps打开一看,发现乐安全并没有注入它。于是对乐安全进行了逆向工程分析,发现乐安全原来是这么实现的。

    首先,在介绍实现原理之前,你必须要知道/etc/hosts这个文件。这个文件里存放的就是本地域名解析规则,也就是说如果本机要访问某个域名,首先会到这个文件里查找,有没有这个域名对应的IP地址,如果有直接就访问这个IP地址了,如果没有才会去向DNS服务器发出域名解析请求。

    其次,绝大多数广告的实现,都是后台从网络服务器上下载广告资源,然后再在本机显示。这个下载过程就必须要涉及到域名解析过程。如果在域名解析阶段,返回错误的IP地址,那么广告资源也就无法下载了。这样也就达到了屏蔽广告的目的。

    最后,乐安全就是按照这一原理,修改了系统的/etc/hosts文件。让广告域名都指向本机IP地址。这里列出这个文件的片段,让大家有一个更加直观的感受:

 

127.0.0.1 localhost
::1 localhost
 
127.0.0.1 banners.vivilatina.com
127.0.0.1 208.185.87.8.liveadvert.com
127.0.0.1 counter.bizland.com
127.0.0.1 t2.leadlander.com
127.0.0.1 line07.metriweb.be
127.0.0.1 adpop.theglobe.net
127.0.0.1 ad.bharatstudent.com
…

二、优劣势

这种实现方式有其优势:

  1. 开发和实现成本低,只需要维护一个广告服务器的黑名单即可

  2. 用户操作简单,就一个总开关,打开之后,整个系统都没有广告了(前提是黑名单足够全)。

  3.  对原系统的影响小:内存占用少,性能损失小

也有其劣势:

  1.有些服务器既提供广告服务,又提供正常的其他服务,比如web服务。那么如果这个服务器的域名被加入黑名单,那么用户要访问这个服务器上的网站也就不可能了。如果这个服务器的域名没有被加入黑名单,那么来自这个服务器的广告又屏蔽不了。

  2.无法屏蔽非实时网络抓取的广告。有的广告插件显示的广告并不是实时从网络上抓取的,而是内嵌在应用内部,或者是之前从网络上抓取下来放到本地的(假设之前乐安全屏蔽广告功能尚未开启)。那么乐安全就无法屏蔽这类广告。

 

三、与手机毒霸比较

下面将手机毒霸和乐安全的广告屏蔽功能做一比较

 

实现方式

实现难易和维护成本

去广告颗粒度

事前还是事后

是否会影响正常上网

是否需要root

卸载后是否有文件残留

乐安全

修改/etc/hosts防止广告资源下载

容易,维护成本低

粗颗粒度,一个开关控制整个系统是否屏蔽广告,简单粗暴

事前防御,广告资源无法到达手机。

可能会影响。如果用户本意就是就要通过浏览器访问黑名单中的域名。

需要

是。广告屏蔽打开时,卸载乐安全,/etc/hosts不会自动复原。所以拦截依然生效。

手机毒霸

进程注入,隐藏广告View

困难,维护成本高

细颗粒度,可以分别屏蔽每个应用的广告

事后补救,广告资源已到手机,只是内容显示不出来。

基本不会。

需要

否。进程注入本身不会修改系统文件。

 

深入解析Adblock与WebUI开发技术 本文还有配套的精品资源,点击获取 简介:从看似无关的文字组合中,我们推断出与IT相关的知识点。项目中涉及Adblock技术,用于广告拦截,提高浏览体验。doT.js模板引擎结合HTML和JavaScript用于Web应用开发,提升数据处理和渲染效率。Chrome WebUI APIs的使用表明项目可能涉及自定义浏览器界面的开发。项目也展示了JavaScript库和框架的应用... 阅读详情

相关推荐

Android-AndroidFeelView一个仿掘金广告页‘跳过’按钮的动画

AndroidFeelView 一个仿掘金广告页‘跳过’按钮的动画

AdBlock广告拦截插件的实现原理

在这里,我不会解释太多的代码,没有必要,说说原理就可以了。 AdBlock的广告拦截实际上分为2个部分: 1、对于URL请求的拦截 这一般都是页面中DIV元素嵌入一个IFRMAE/IMAGE元素,然后加载一个广告链接或者GIF图片什么的。 这部分的规则库描述比较复杂。规则大概有几万条,即使对于国内的使用,可能也会有个1000条左右。 不过我觉得没必要搞这么复杂,可以通过提取出

cteng的专栏 2万+

Android代码-基于DNS实现的Android广告拦截

DNS-Based Host Blocking for Android This is a DNS-based host blocker for Android. In the default configuration, several widely-respected host files are used to block ads, malware, and other weird stuff. Installing You can either install it via F-Droid, using the official F-Droid repository, or you can use my personal repository at https://jak-linux.org/fdroid/repo which gets updates ASAP. You can also download apk files in GitHub's download section. Currently, these are the same files as in m

广告拦截插件是如何工作的

广告拦截插件通常非常有效,但也有一些局限性。例如,某些网站会检测到用户使用了广告拦截插件,并要求用户禁用它才能访问内容。此外,过度使用广告拦截插件也可能影响某些网站的收入,因为这些网站通常依赖广告来维持运营。

m0_57236802的博客 672

.NET+Vue企业级RBAC权限平台:开箱即用的生产就绪方案

RBAC(基于角色的访问控制)是企业系统安全治理的基础模型,其核心在于将用户、角色与权限解耦,通过动态能力组合实现细粒度管控。在真实工程中,RBAC需突破静态角色限制,支持时间维度授权、前后端双重鉴权、行级数据范围控制等关键能力。本文聚焦于一套已落地金融、政务、制造等多行业的生产级实现——基于.NET Minimal API与Vue 3的前后端分离架构,提供菜单/按钮/接口/数据四层权限控制,内置滑动过期JWT、Redis权限缓存、动态路由加载与权限指令等开箱即用能力,显著降低权限配置与审计成本。

weixin_33326218的博客 276

W5500 MACRAW模式实战:在ESP32上抓取并解析原始以太网数据包

本文详细介绍了如何在ESP32开发板上使用W5500芯片的MACRAW模式捕获和解析原始以太网数据包。通过硬件连接指南、代码实现示例和协议解析技巧,帮助开发者深入理解网络通信底层机制,实现网络嗅探和自定义协议开发等高级应用。

weixin_42520573的博客 418

dns广告拦截原理

DNS 域名解析,浏览器在请求数据前,需要解析字符串,转换成ip地址后,再去请求网页数据 DNS劫持 dns请求是通过udp请求的数据包,很容易伪造响应,导致dns解析到了别的网站,或者解析到中转网站,修改html注入广告 AdGuardHome广告拦截 通过dns过滤固定的dns地址,拦截广告请求 https://gitee.com/clion007/AdGuardHome.git ...

daoer_sofu的专栏 3236

Dify-前端本地运行-单点登录

本文介绍了如何在已部署Dify的系统中实现AI应用跳转及页面定制化改造。通过iframe跳转无法满足甲方需求后,作者对Dify前端源码进行了本地化二次开发,主要步骤包括:1) 按照官方文档搭建本地开发环境;2) 修改.env配置文件连接部署好的后端服务;3) 隐藏侧边栏和头部导航栏;4) 实现单点登录功能,通过URL参数获取用户邮箱自动登录。过程中解决了请求拦截导致的登录校验问题,最终达成仅保留对话框界面并同步用户信息的需求。该方案涉及Next.js框架和React技术的应用,为类似定制化需求提供了参

weixin_43163457的博客 3227

突然发现浏览器广告拦截插件原理

今天突然要解决一个bug,一个关于广告的小问题,页面元素不显示了,查了半天完全不知道为什么。然后发现是广告拦截插件引起的,知道广告插件原理,我一下子有点懵。 先说明,今天主要是分享一下广告插件的原理,不是深究插件的写法,也不确定其他插件是否是这个原理,只是说一下Adblock plus这个广告拦截插件的原理。 先说一下过程,有个广告创建的功能,里面有几个选项,拿其中一个选项来说,标题,我给这个输入框起的样式class名字是ad-title,结果页面这个输入框显示不了,看了一下样式的display,居然是no

wade3po的博客 1401

6 赫斯曼网管软件industrial hivision用户管理

文章目录前言一、打开Industrial HiVision服务器二、在用户管理界面添加策略三、使用可选策略四、接受策略总结 前言 安装 Industrial HiVision 后,所有人都能广泛使用程序。安全起见,请进行相 关配置,对访问权限进行限制。 本文主要介绍用户管理基于某种角色模型。在访问角色中定义角色名称,通过分配访问权限给这些角色分配角色功能。例如,给管理人员自然要分配可用的权限,而观察员尽管可以登录,但没有能够进行更改的权限。Industrial HiVision 提供以下访问角色: 

t98746194的博客 1381

从零到一:高通QCS6490边缘AI开发板的Linux生态构建与实战避坑指南

本文详细介绍了在高通QCS6490边缘AI开发板上构建Linux生态系统的完整流程,包括开发环境准备、系统镜像构建与烧录、AI运行时环境配置、模型部署优化以及性能调试。重点解析了如何利用Hexagon DSP的高达12 TOPS AI算力,并提供了实战中的避坑指南和性能优化技巧,帮助开发者高效实现边缘AI应用从概念验证到产品落地的全过程。

eee77的博客 771

主流安全大漏洞:隐私空间泄密

目前很多安全软件都提供了隐私空间、文件保险箱之类的功能。这类功能对于用户来说还是很实用的。因为,现在一般用户会在智能手机上保存各种照片、视频、文件等隐私文件。不过一旦手机丢失,隐私文件就很可能泄露出去。但是这些功能到底有多安全呢?经过我们研究,所有主流安全软件都存在漏洞,隐私数据会泄密。 市面上常用的安全软件将需要保护的文件分为图片、视频和普通文件。用户可以进行添加、还原等操作。对于图片、视

android_squad的专栏 3537

Python遥感图像处理应用篇(二十三):Python+GDAL 批量拼接图像

遥感影像拼接分多种不同的情况,比如比较常用的是两幅影像拼接或者多个图像合并为一个图像。GDAL中实现影像拼接的方式也有多种,比如常用可以通过numpy读取影像数组,并计算各个图像的numpy数组范围,合并多个numpy数组为一个最终的结果,并将其重新输出为一幅新的图像,即可实现图像的拼接。另外比较方便的一种方法便是使用GDAL.warp()函数方法。这个函数的功能很多,可以实现多种不同的目的,比如用于坐标系转换、投影变换、图像合并与镶嵌、地理范围裁剪、更改分辨率、矢量裁剪等多种功能。这些功能可以通过设置Op

soderayer的博客 4643

Android 第三方应用广告拦截实现

http://blog.youkuaiyun.com/u012583459/article/details/47394555

doomvsjing的博客 3070

控制算法研发工程师(博士)职位深度解析与面试指南

摘要:广东万和新电气股份有限公司招聘控制算法研发工程师(博士),工作地点佛山顺德。职位要求2026届博士学历,电子信息工程或控制科学与工程专业。主要职责包括:1)燃气热水、热泵等系统的电控软件设计与优化;2)开发PID、模糊控制、ADRC、MPC等智能算法,应用于恒温控制、变频调节等场景。重点考察算法研发能力、系统稳定性优化及嵌入式实现经验。该职位提供三年资深工程师培养计划,需具备扎实的控制理论基础和工程实践能力,能够处理非线性系统、多工况自适应等复杂控制问题。

郑伟强dev的专栏 139

Java/PHP:微信支付v3显示 “商户证书序列号有误。请使用签名私钥匹配的证书序列号。“(Spring Boot、thinkPHP微信支付失败返回错误,例如退款、企业付款到零钱等各种微信支付业务)

商户证书序列号有误。请使用签名私钥匹配的证书序列号,php,Java微信支付v3显示"商户证书序列号有误。请使用签名私钥匹配的证书序列号。"请问如何解决?httResponseBody[{"code":"SIGN_ERROR","message":"商户证书序列号有误。请使用签名私钥匹配的证书序列号"}]微信V3支付报错 平台证书及平台证书序列,vue3微信支付报错,Uniapp支付报错,微信支付签名错误解决方法,微信支付v3证书报错,微信支付平台证书过期(报错:证书序列号错误)计算签名时,商户号、商户AP

✅ 精选推荐文章 4598

Android 应用广告过滤几种方式

code小生,一个专注 Android 领域的技术平台公众号回复 Android 加入我的安卓技术群作者:Dotry链接:https://www.jianshu.com/...

code小生 2693

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

js拦截弹窗广告原理及方法

场景确认: 1.确认服务器和站点程序没有被黑的情况下,网站经常会弹出一些弹窗式的小广告 2.弹窗基本都是页面数据回传到客户端浏览器的过程被电信运营商植入了js外部脚本,该脚本再执行生成iframe广告窗口 大多数情况下运营商HTTP劫持的原理:在用户的浏览器连上被访问的网站服务器,发送了HTTP请求后,运营商的路由器会首先收到此次HTTP请求,之后运营商路由器的旁路设备标记此TCP连接为H

hello_sgw的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

广告屏蔽插件的原理

广告屏蔽插件原理

阿懵 4804

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android webview广告过滤的实现

WebViewClient的几个回调函数 要想对Webview实现一些高级操作,首先要学习WebViewClient的用法,这是Webview几个常用回调函数 1、public boolean shouldOverrideUrlLoading(WebView view, String url) : 在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的we

luanxuye的博客 1万+

众人所知,去广告神器:天行广告防火墙!

电脑中出现广告需要拦截的话,我们可以借助很多的电脑工具来帮助我们完成的 而对于电脑中广告过多无法拦截的情况下,就可能出现很多的问题。 对于日常中的电脑广告则是很普遍的现象,那么需要如何才能够拦截广告呢? 于是开发此神器

chunme的博客 650
上一篇: SEAndroid之IPC
下一篇: 机毒霸去广告功能分析三:java代码(dex)注入
鲶鱼团队
博客等级 码龄14年 36粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值