jdlingyu 发布的文章

这两种方式,在大圣净化才加入,悟空加速是没有的功能,规则制作上有很多相同的地方,要用到的工具也基本相同。

Hosts文件替换

基本原理是,通过捕捉到的广告地址,将其指向本地即127.0.0.1,广告目标没有获得任何数据从而无法展示。
大圣的HOSTS管理,基本功能上已经很全面,现阶段提供了,大圣源、导入第三方源、导入文本及hosts文件、添加域名拦截,合并后导出hosts备份。

很多同学,使用习惯了一些管理hosts的APP(如Adaway),会提出疑问,怎么没有黑名单和白名单。那么在这里就再啰嗦一下。

添加域名拦截=黑名单,

这个容易理解,就是黑名单的本质

源内 搜索+反勾选=白名单。

Adaway的白名单,形式可以是整个域名如ads.taobao.com,或是加入通配符*.taobao.com。当淘宝的一些链接打不开时,一般都是用通配符白名单,但问题这样做阿里系的去广告就等于废掉一半武功了。
而大圣hosts管理,由于导入后可实现源内域名规则单个及批量反勾选,通过搜索关键字如taobao,列出的域名通过反勾选后替换,迅速排查定位。这是其它APP无法办到的。因此大圣虽没有白名单却比白名单更加强大。

Url规则

社区及群里都好多疑问,什么是Url,Url规则怎样使用?很正常,因为安卓市场运用Url拦截的APP凤毛麟角,什么是Url自己找度娘去!
制作是非常简单的,可以打开浏览器,把地址栏复制粘贴到规则内完整Url拦截,那么刚才打开的页面就再也打不开了,简单吧,大概明白了吧!

制作规则前,再简单说明一下hosts跟url拦截的相同点和不同点。
就以优酷为例:

  1. 假设地址是http://tv.youku.com/aaa/bbb/ccc/xxxxxx.html,那么tv.youku.com就是主域名,把它填到hosts或url关键字里,起的作用是完全相同的,都是屏蔽了优酷视频,都打不开。
    但视频广告却在ccc下,很明显Hosts屏蔽广告方式就失败了,而在Url关键字填入http://tv.youku.com/aaa/bbb/ccc/就可以正确拦截广告而不伤及其它有用的视频链接
  2. 通过上面的描述,估计大家就会明白为何hosts拦截会容易造成误伤了。
  3. 优酷视频,为防止被hosts拦截,广告视频链接是藏在主域名下的,因此没有一个hosts能去其广告,甭找了!由于给主域带来沉重负担,所以打开优酷比其他视频客户端都显得卡卡卡。

Hosts,url拦截 规则制作

这两个方式的规则制作,就必须用到第三方的抓包软件了,这里向大家推荐一个在国内应用市场挺热门的APP(Packet Capture 无ROOT抓包)。抓包软件使用就不赘述了。
这里以“江苏移动营业厅”这个APP为例:
url1.png
url2.png
通过上图,就会知道,假如用hosts方式填wap.js.10086.cn到域名拦截的话,那么营业厅也就会没网了。

  1. 抓到的目标页,分析地址,填到Url关键字里面,保存规则。
  2. 还必须手动删除营业厅缓存的广告图片,路径在内置存储的jsmcc/.images下面。
    hosts.png

注意:通过hosts及url拦截的,需要在应用还未缓存广告文件到手机之前就要生效,所以新添加规则的APP为确保拦截有效,须先清空一次数据。(很多使用Adaway的用户都忽略了此操作步骤,拦截效果当然是大打折扣了)这种操作步骤,恰恰与悟空及替换规则的操作相反(悟空及替换规则,首次进入先不勾选,引导和登陆账号完成后再勾选执行)

广告文件替换工具,是悟空首创,在大圣净化优化加强的功能。
先看看悟空加速时期的:文字教程链接视频演示
相信看完之后,原理基本已了解,真正制作去广告,其实在RE管理器内执行就已经完成了,跟大圣没有半毛钱关系。
大圣只是提供一个便捷的按规则要求批量替换的工具,而无需在RE管理器内逐个目标手动操作。只要替换目标是准确的,就实现了不修改APK达到改包去广告的效果。

下面也是以视频演示的网易云音乐为例:

  1. 文件替换列表,添加“网易云音乐”
  2. 添加》选择目录》系统目录》找到目标目录》长按提示已选择》点击完成》选择目录权限000》保存并替换

规则制作完成,方便吧!

替换规则.png

备注:

  1. 文件替换规则,并不会检测广告文件的状态,因此,虽然是勾选了还是要手动批量替换操作才会生效。
  2. 由于使用安全代码操作,部分文件夹权限为000的规则,无法还原权限,须要先执行手动删除000权限的文件夹,然后禁用才会生效。

来自“AK.KORN”的帖子~

Gooxxx 重定向 Hosts

Gooxxx Hosts(外网重定向) AdAway源(Github 首选):https://raw.githubusercontent.com/googlehosts/hosts/master/hosts-files/hosts

AdAway源(国内镜像):https://coding.net/u/scaffrey/p/hosts/git/raw/master/hosts-files/hosts

ADhosts (外网重定向) AdAway源:https://raw.githubusercontent.com/otobtc/ADhosts/master/hosts

AdAway源(国内镜像):https://coding.net/u/scaffrey/p/hosts/git/raw/master/hosts

国外 网页广告/恶意站点屏蔽 Hosts

lack006(安卓APP广告屏蔽) AdAway源(屏蔽广告)(首选):https://raw.githubusercontent.com/lack006/Android-Hosts-L/master/hosts_files/2017_hosts/AD(3.08MB)

AdAway源(屏蔽广告+外网重定向):https://github.com/lack006/Android-Hosts-L/raw/master/hosts_files/2017_hosts/AR_full(3.35MB)

推荐大家使用这两个源,其它的不就是一模一样的,就是源非常少,推荐大家使用这两个,其他的全部都是一样的源,都是我测试过的,好用不好用就看大家的使用了。

AdAway源(外网重定向):https://github.com/lack006/Android-Hosts-L/raw/master/hosts_files/2017_hosts/RE_full

Hblock(从adaway/AdBlock/AdGuard/disconnect.me/EasyList/FadeMind/malwaredomains/uBlock等35个来源合并) AdAway源(首选):https://hblock.molinero.dev/hosts(4.2MB)

Steven Black(从adaway、mvps、malwaredomainlist、someonewhocares等15个来源合并) AdAway源(首选):https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts(1.2MB)

Malware Domain List AdAway源(首选):http://www.malwaredomainlist.com/hostslist/hosts.txt

Yoyos Hosts AdAway源(首选):https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext

MVPS Hosts AdAway源(备选):http://winhelp2002.mvps.org/hosts.txt

HpHosts AdAway源(备选):https://hosts-file.net/ad_servers.txt

eladkarako AdAway源:https://raw.githubusercontent.com/eladkarako/hosts/master/build/hosts.txt(31.1MB)

YousList(屏蔽韩国网站广告) AdAway源:https://raw.githubusercontent.com/yous/YousList/master/hosts.txt

BadHosts Blocking AdAway源(备选):http://www.hostsfile.org/Downloads/hosts.txt

AdZHosts(项目已关闭) AdAway源:http://jaist.dl.sourceforge.net/project/adzhosts/FORADAWAY.txt

The CAMELEON Project AdAway源:http://sysctl.org/cameleon/hosts

dan pollock AdAway源:http://someonewhocares.org/hosts/hosts

AdBlock AdAway源:http://adblock.gjtech.net/?format=unix-hosts

说明:未标示“AdAway源”的属于电脑端专用源,需要到其网站下载 Hosts 压缩包文件。

Hosts修改方法:

Windows 用文本编辑器(如Notepad++|Notepad2)打开 C:WindowsSystem32driversetc 中的 hosts 文件, 把要使用的hosts里的全部内容复制到此hosts文件中,然后保存。

注意:如果遇到无法保存,请右键hosts->属性->安全,然后选择你登陆的用户名,最后点击编辑,勾选"写入"即可。

Linux 开启终端(快捷键为"Ctrl + Alt + T") 输入 bash -c 'wget 你要使用的hosts源URL && sudo mv /tmp/hosts /etc/hosts' Mac OS 在 /private/etc/ 目录下新建或修改hosts Android 在 /system/etc 目录下新建或修改hosts iOS 在 /etc 目录下新建或修改hosts使其生效

修改hosts后即刻生效的方法:

通用方法 断开网络连接 -> 重新连接网络

Windows 开始 -> 运行 -> 输入cmd -> 在CMD窗口输入ipconfig /flushdns

Linux 终端输入sudo systemctl restart NetworkManager 非systemd发行版,终端输入sudo rcnscd restart

Mac OS X 终端输入sudo killall -HUP mDNSResponder

Android 开启飞行模式 -> 关闭飞行模式

Chrome 浏览器 在完成对系统DNS缓存的刷新之后,在Chrome浏览器里的地址栏输入chrome://net-internals/#dns来清理Chrome浏览器的DNS缓存。

Linux、Mac、Android用户请用 Notepad++ / QuickEdit 转换Hosts文件的文本编码为ANSI、换行符为Unix(LF),否则hosts可能会无法正常工作。

更多 Hosts 源请浏览: https://github.com/AdAway/AdAway/wiki/HostsSources

来自“遗忘情感”的推荐

https://raw.githubusercontent.com/neodevpro/neodevhost/master/host

https://raw.githubusercontent.com/neodevpro/neodevhost/master/block

有些应用首页和广告页相同,而且必须使用坐标点击,这种特殊的应用需要准确识别出广告,避免误点击。

准备工作

开启「开发者选项」如何激活开发者选项?

  1. 打开「设置」
  2. 滚动到底部,然后选择「关于手机」
  3. 滚动到底部,点按「版本号」7 次。
  4. 返回上一屏幕,在底部附近可找到「开发者选项」

开启「显示点按操作反馈」

可以在屏幕中显性的展示触摸的轨迹

  1. 打开「设置」
  2. 选择「开发者选项」
  3. 开启「显示点按操作反馈」

开启「指针位置」

可以显示触摸的指针坐标点

  1. 打开「设置」
  2. 选择「开发者选项」
  3. 开启「指针位置」

开启「显示边界布局」

主要用于显示布局的边界,比如一个 Activity 显示界面中各种布局文件的边界等

  1. 打开「设置」
  2. 选择「开发者选项」
  3. 开启「显示边界布局」

第一种方案:避开首页点击区域

例如:同花顺/通过点击坐标跳过 12306 广告

找到广告页的「跳过」点击区域

ba_jie_point_1.jpeg

找到广告页在「广告跳过点击区域」无效的点击区域

ba_jie_point_2.jpeg

设置好坐标,这样的话,在首页误点击也没关系

第二种方案:识别广告和首页

这种目前只能交给我来解码了
通过检测 View 来判断当前是否有广告,目前这些信息通过日志中获取的。

小米视频的解码:
a:检测广告开始的条件
z:检测广告结束的条件

{
    "a":[
        {
            "v":"android.widget.FrameLayout",
            "k":"跳过",
            "c":1
        }
    ],
    "z":[
        {
            "v":"android.support.v4.view.ViewPager",
            "c":2
        }
    ]
}

在阅读图文教程之前,先来看规则制作的视频教程,两步搞定斗鱼直播的广告

规则制作步骤

看完视频之后应该就知道制作规则步骤其实非常简单,以视频中“斗鱼直播”的去广告为例,步骤如下:

  1. 悟空规则列表,添加“斗鱼直播”
  2. 自动获取首页,按下“保存应用”
  3. 添加去广告方式,读取启动页 -> 替换活动页面(为首页) -> 保存规则
    制作步骤.png

规则制作完成,很简单吧!

悟空规则 选择拦截的方式

悟空规则的拦截方式一共有6种,按方式选择顺序分别是:

  1. 关闭 活动页面
  2. 隐藏 活动页面
  3. 跳过 活动页面(到首页)
  4. 替换 活动页面(为首页)
  5. 禁止弹框(目标页面+.Dialog)
  6. 自定义(目标页面+.Hook)
下面按规则制作选用方式最有效的先后次序,详细说明:
No1: 跳过 活动页面(到首页)

跳转到首页的方式是最优先选用、且使用频率最高的,大圣读出的首页和广告页,如果不在同一活动页(Activity),基本都能跳过广告(相同Activity的不能选,必闪退)。
自动读出首页和广告页(通过代码预判)不生效的时候,就需要打开“悬浮窗”,这个工具能够实时显示当前的每一个Activity页面,很直观地显示并记录下来,点击所看到相应的Activity可复制,然后粘贴到对应的主页和广告目标页,保存生成规则。
悟空悬浮窗.png

No2: 替换 活动页面(为首页)

替换为首页的方式,跟跳转到首页方式的主页和广告页完全相同,它是检测到广告页马上用主页替换掉,由于缺少引导的过程,部分应用会出现不同程度的问题。云端基本上以跳转首页为主,如果还想进入再快一点,可自己尝试手动换为这种方式保存,适合的应用会更快地进入主页。(更改保存后锁定规则不被云端同步)

No3: 关闭 活动页面

这种方式在规则制作里也是经常用到,但适合去启动页广告的应用很少,如果悬浮窗抓到了Activity,但跳转到首页闪屏或卡屏,可尝试,典型的应用有:闲鱼,知乎日报。
使用频率最高的是,进入应用过程,继续弹出的独立页面广告,或运行过程中、又或游戏当中突然弹出的页面或视频Activity广告页,这是它强项了,悬浮窗抓到后填入(延时缺省为0,但有些时候应用必须让它出来展示一下,不然会闪退,那么设个10ms++,反正肉眼也看不到就是了)
曾经制作过一个只有点击下载链接才能进入首页,播放中途不断弹出视频广告页的APP,通过以上的拦截手段,变成实质VIP用户,很爽有木有!

No4: 自定义(目标页面+.Hook)
  1. 这个方式适合懂得代码的专业人士,需要反编译,找到加载的代码,再Hook过去。典型应用有:知乎、迅雷。
  2. 遇到首页与广告活动页在同一个Activity页面,或跳转和替换到首页均出问题,无计可思的时候,就可以用八戒的模拟点击转换为悟空的规则,开启悬浮窗,点击广告跳过得到解码数据,在悟空规则列表粘贴,加入读取到的首页,保存规则。(注意是有条件的,解码数据必须要有viewid,有些应用需加入延时,就是d值,一般为0~1000ms,实测为准),典型的应用有:大智慧。
    悟空3个图.png
No5: 禁止弹框(目标页面+.Dialog)

这个跟启动页广告是无关的了,这种方式适用于某特定页面(例如在首页Activity)的弹出式广告,典型应用有:腾讯视频的王卡弹窗,一些红包弹窗,优惠推荐弹图,升级弹框等等等。一旦生效,无论有没有用的信息,一切弹框都不会出现。因此云端一般不会通过这种个性化的规则。

修改版本号

一些APP老版本使用挺好不想更新,或是安装新版跟系统发生冲突,可是应用不断弹出要求更新的窗口。这时候就可以用修改版本号的方法,欺骗APP认为是最新版本而不再提示。
悟空的改版本号,并不会对文件进行修改,因此安装市场的检测更新仍然是真实的版本。那么怎样确认是否生效?在目标APP内检查更新,提示为最新版即生效。