标签 去广告 下的文章

不算教程了,写的太简单了,只是给自己备份而已。本来开博客的意义也是,担心哪一天硬盘也跟凯旋的一样挂掉,什么资料都没了。博客就是一个记录和备份。这个手记是制作过程的简单记录,简单体现了思路,有些连思路都没有记。

土豆视频5.2去广告破解缓存限制手记

1,破解缓存限制

smali_classes2\com\tudou\detail\fragment\VideoCacheFragment.smali
smali_classes2\com\tudou\detail\fragment\VideoCacheFragment$2.smali

修改关键字跳转0x7f0b00e4
2,创建快捷方式

com.tudou.android\smali\com\tudou\ui\activity\WelcomeActivity.smali
.method private addShortcut()V

改为空函数
3,去视频播放前广告

com.tudou.android\smali\com\youku\player\goplay\TaskGetVideoAdvUrl.smali

函数.method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
删掉这一句

invoke-direct {p0}, Lcom/youku/player/goplay/TaskGetVideoAdvUrl;->connectAPI()V

3,去启动广告(好几秒那个静态的)

com.tudou.android\smali\com\tudou\ui\activity\WelcomeActivity.smali
.method private excutePosterTask()V

改为空函数
首次启动那个花不溜丢的动画
搜索guide_video,找到ID,最后定位到还是这个文件里
简单的判断+跳转
4,去除启动首屏的渠道logo
方法好多啊,挨个说:
1)最笨的方法,用PS把logo改透明。
2)或者channel_name文件改为空(里面就是渠道特征码)
3)或者在

com.tudou.android\smali\com\tudou\ui\activity\WelcomeActivity.smali

.method private initView()V函数下根据渠道特征码显示渠道logo的的内容给删除
从:cond_1一直往下找一直到cond_12一堆都是。所以直接把跳转到cond_1的语句直接改为跳转到cond_13(表示不加logo)就可以了
5,去除titlebar的应用推荐和游戏推荐按钮
layout/index.title.xml中相应布局高度宽度改为0即可
6,去除“发现”频道
这个更简单了

layout/home_bottom_bar.xml

中将相应布局weight值改为0
还有个小毛病就是“精选”频道拉到最底下会提示进入发现频道,还有个箭头指过去……
找到资源文件,定位到布局

res\layout\index_item_foot.xml

爱怎么改怎么改都行了
7,屏蔽“我的”界面中“大家都在看”模块
Fiddler抓包知道访问网址为http://rec.api.3g.tudou.com/v5/user/rec_videos?pid=34d185b5c1336e16&_t_=1439828914&_e_=md5&_s_=d8af732769fef74e7eea4963abffafa1&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001
搜索关键词rec.api.3g.tudou.com,屏蔽相关网址即可
虽然这个网址是recommend,用于广告的,但是为了保险,其实可以只屏蔽“rec_videos”这个字段。
8,屏蔽搜索界面的“大家都在看”和下面的推荐

http://api.3g.tudou.com/v5/search/recommend?pid=34d185b5c1336e16&_t_=1439829729&_e_=md5&_s_=bed05ad375bd98eb1a578f9ad9783fdd&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001

和上面一样,搜索“search/recommend”,改为空即可
同时会出现“走神啦,点击屏幕重试”的提示,搜索这句提示,定位到layout/all_hint_layout.xml,各元素宽高字体大小都改为0.0dip
9,搜索框中默认的搜索推荐,加载自

http://api.3g.tudou.com/v5/home?pid=34d185b5c1336e16&_t_=1439831674&_e_=md5&_s_=70bcf672ad41e439bdc40c6d55502c7e&guid=bb5281c2dfeb44c6339b10586e09f6b8&ver=5.2&network=WIFI&operator=_46001&excludeNew=0&show_url=1&live=1

返回的值中有“search_area”字段,里面定义了两个子字段"search_adv": "大家都在搜", "search_word": "土豆映像季"
smali_classes2\com\youku\vo\SkipInfo.smali中找到这两个字段,改为空
这样的话,进入搜索界面,不会有“土豆映像季”这个关键词了,点击搜索按钮也会提示“搜索关键字不能为空”
但是主界面搜索框里仍然有这几个字。
最简单的方法是考虑通过修改布局实现去除。仍然是肉眼遍历所有图片资源,找到搜索按钮,定位到布局

res\layout\index_title_search.xml

textview那一段
10,视频详情页推荐
抓包

http://rec.api.3g.tudou.com/v4_4/album_rec?pid=34d185b5c1336e16&_t_=1439874368&_e_=md5&_s_=f318077f48286cda5fc0e12df7dff176&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001&album_id=248045&count=6&cid=30&pcode=90000321

搜索v4_4/album_rec
改为空即可
还有一个v4/recommend/video
一样改为空
11,安装后的首次启动动画,是个mp4文件,直接定位到

smali\com\tudou\guide\GuideVideoActivity.smali

靠近最下面的地方播放了这个视频

invoke-direct {p0}, Lcom/tudou/guide/GuideVideoActivity;->play()V

把这句删掉就可以了,然后mp4文件也可以删除了,安装包可以节省4M左右
12,视频播放水印
全屏时的视频水印不只是图片,还会出现订阅发布者的按钮,通过订阅按钮图片资源文件顺着驴腿摸驴蛋,找到了全屏水印的布局文件

res\layout\plugin_fullscreen_watermark.xml

将所有高度宽度改为0.0dip就可以了
非全屏时的播放水印,通过资源文件\res\drawable-xxhdpi-v4\ic_water_mark_small_plug.png
定位到布局,
相应布局宽高改为0的话,整个搜索框都没了
找这句textview的ID index_page_search
13,七夕启动图片

http://api.3g.tudou.com/v4_4/initial?pid=34d185b5c1336e16&_t_=1439995112&_e_=md5&_s_=4665780e265617eea29d83be2ed29190&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001&brand=Meizu&btype=MX4&os=Android&os_ver=5.0.1&wt=1152&ht=1920&imsi=&imei=866007020052013&deviceid=21f26c755ecc7682&mobile=%2B8618675563352&uuid=&time=1439995110855&mac=00:00:00:00:00:00

返回的信息里有图片和显示时长“keep_time”是2秒,影响启动速度,当然要干掉
屏蔽v4_4/initial 关键词即可
14,抓包意外发现了另外一个广告网址

http://ad.api.3g.tudou.com/adv/startpage?pid=34d185b5c1336e16&_t_=1439996989&_e_=md5&_s_=88b6e24859eba9dcf7e69e186f809288&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001&site=-1&version=1.0&width=1152&height=1920&imei=866007020052013&mac=00:00:00:00:00:00&aid=21f26c755ecc7682&net=1000&isp=%E4%B8%AD%E5%9B%BD%E8%81%94%E9%80%9A_46001&vc=0&mdl=MX4&dvw=1152&dvh=1920&dprm=3000&osv=5.0.1

直接屏蔽之
顺带发现了ad.api.3g.youku.com,必须也一起屏蔽
屏蔽之后启动速度提高至少2秒

土豆视频5.2去广告破解缓存限制手记


转 腾讯视频去广告手记
制定的计划如下
位置权限
创建快捷方式权限
自启权限
屏蔽“遇见模块”
搜索界面不能沉浸
播放前广告
第二次以后的启动广告
黑色退出菜单改为白色半透明
首页首屏的游戏入口屏蔽掉
将持续更新,搞定一个写一步,中间指不定多改点别的,都属正常
启动第二屏闪屏广告
在图片资源中找到“点击跳过”的图片资源,然后一步两步,一步两步,一步一步似爪牙,似魔鬼的步伐,找到了

smali\com\tencent\qqlive\tad\splash\SplashManager.smali

简单阅读即可发现

.method public static getAndShowAdView

定义了广告的获取和显示

sget-object v1, Lcom/tencent/qqlive/tad/splash/SplashManager;->splashAd:Lcom/tencent/qqlive/tad/data/SplashAdLoader;

在这一句下面加上const/4 v1, 0x0即可
视频播放前广告
抓包,一个一个链接检查,最后发现获取广告的url类似于这样

http://lives.l.qq.com/livemsg?sdtfrom=v5004&device=21&vid=w00177qj2du&ad_type=WL_WK&defn=msd&clip=1&ty=web&coverid=ks868i3pu174pu3&live=0&offline=0&pf=aphone&from=5&dtype=1&pu=0&platform=10303&v=QVaPhoneV4.1&adaptor=1&openudid=915bda9994060d1221c7eae77857ac7e&appversion=150620&chid=0&data=AS64N6HIoeOlSg2LJTyWyVJkXyJ8vF3KJDv4Dq%2FTDHySYXyblTfE7zvF%2FTrmUO7WUbsKV%2BAvvGhgzkOB7%2BLX3cTZA9iiEEaeILXGY07kAMK56Ax8MwYhvLFJKVko39dG%2FVroFDb%2B3th4UMnvZBCdS8UYRfqn4pexZrk%2BKloAwWRjMtY0FTCBKjCog8gKrw6YZIHpfOihwbpLCe%2FfuFlE4d%2B54608Yd%2BTw7Zs%2BuHRhr3DcVTZsDjSORqDV%2Bxi8P%2FMtnmM8Om82VeblNN8BSXUEaWU1zCjIe5xxaXdjHEcUdwQFgExEBcWUWZsIxbimLnKAqY2gxJeLEw58kKWWoqkHT8wiYRDx6aQDDs%2Bl2ZC445yaioILCyWZYhe5FmG4nEEU5RCxhSPTfr1Bta%2FIxZMsBI9XMwb5xxHiX6fHuXkkTkjhdy2%2BTrgztlJxQ2e3dIIt92vEheQ597ztDtYCQ65%2Bakl9dhNVayDyBZ6mXVNSaXJApJy60njfbgqe15kllsbjYW8F1nHvfx4Oq4RK0KNxzYp1QdBj07mVgxnUkW0kwnfeiGrXkizdVpNixDDdzAWyjBZKsblrK86RVxNNedLS8is%2BGtQf%2FTuS7J7HHPBnIuN8dWD2AIyK%2FfBX0YlaScZXzwLc2m0USJgV%2B9MGB4jTNAB%2BU2XQgZW25Ncz5NQUZ3jZZp4oB4fPcEQ%2BS0TG2ZpyhxLftrrkGnosXcSb%2FN%2FSPCSgG7zn238Dt5UekrQesFweoOY8DthRxU%3D

返回结果中有广告的flv文件地址,因此,找livemsg找到了文件

smali\com\tencent\ads\service\a.smali

.method static constructor <clinit>()V函数改为空即可
唉,其实腾讯视频很良心,没多少广告的,以上这两个弄完,去掉一些权限,基本就可用了
干掉“首次启动创建快捷方式”
搜索“shortcut”,找到唯一一个smali文件,唯一一个函数,改为空即可

smali\com\tencent\qqlive\ona\base\b.smali
.method private static b(Landroid/content/Context;Z)V

去除各种推送
其实各种接收器、权限等等都摘除干净的话,也差不多了
然后根据push的开关,定位到smali\com\tencent\qqlive\ona\usercenter\activity\SettingActivity.smali,下面有开关写法,把开的相关功能都删掉,然后把设置中的开关也屏蔽就可以了
去除发现模块

layout/layout_toolbar.xml

去除小圆点

img_updata.png

解决无法使用qq登录
其实改了签名,就没法调用qq登录了,这个无法破解,但是可以变通,就是如果腾讯视频检测到手机上没有qq客户端的话,会直接弹出账号密码登陆框让你登录,所以就好改了
把所有的com.tencent.mobileqq改为空即可
垃圾网址

http://monitor.uu.qq.com/analytics/upload
http://omgmta1.qq.com:80/mstat/report/?index=

明显是腾讯分析的统计上报url,必须干掉

http://pingma.qq.com:80/mstat/report/?index=

你们一定是一伙的


去广告软件最强总结篇
卡饭论坛--广告规则过滤区
利用hosts去广告
Google hosts 持续更新

https://forum.xda-developers.com/android/apps-games/app-adclear-root-version-ad-blocker-t3309011
https://forum.xda-developers.com/android/apps-games/app-dns66-source-host-ad-blocker-root-t3487497
https://forum.xda-developers.com/showthread.php?t=1916098

关于adguard去广告规则的增强

酷安网友给了这两个补充
http://git.oschina.net/halflife/list/raw/master/ad.txt
https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/ABP-FX.txt
还是满给力的

另外,我针对quankan.tv在手机版页面(包括app,实为内嵌h5)
去除底部广告
|http://m.quankan.tv/ad/dibu.js
|http://m.quankan.tv/ad.j
去除页面内的红字提醒
|http://m.quankan.tv##div.contenttt
如果装了手机app的话,可以把app下载提示、页面bottom也去掉,获得更好体验
|http://m.quankan.tv##p.pBtn
|http://m.quankan.tv##footer.footer
大侠阿木自用
http://www.daxiaamu.com/wp-content/uploads/files/blocklist.txt

https://spam404bl.com/spam404scamlist.txt 
https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt 

https://secure.fanboy.co.nz/fanboy-japanese.txt 
https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf.txt 
https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf_element_hiding.txt 
https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf_paranoid.txt 
http://tofukko.r.ribbon.to/Adblock_Plus_list.txt

SSR+ACl去广告(适合iOS和未root安卓)

https://github.com/leosam1995/My_ACL_Rules

看到锁屏广告的时候长按 多任务键 就现出原形了

ADB找出广告

1.要进入开发者模式打开USB调试,安装驱动,这部分教程比较丰富,就略过了。
2.下载adb工具包。
3.找一根稳定的数据线,将手机连接电脑,在手机的弹出窗口中允许USB调试。
1.然后用管理员进CMD,输入(将双引号内的路径换成你电脑上ADB工具所在路径)

cd /d "Z:\Desktop\adb"

2.查看设备,输入

adb devices

如果你的驱动安装正确,应该可以看到有设备,如果没有,请返回准备工作,检查驱动是否正确安装。
3.尝试运行手机中一些APP,笔者花了3分钟时间,在运行到一个清理应用的时候,弹出了广告,按home键返回桌面广告滞留了一瞬间,说明有可能不是APP内的广告。
4.电脑上迅速清理日志,输入

adb logcat -c

清理一次设备日志记录,这时候开始不要操作手机。
5.然后点击一下广告,广告肯定会打开浏览器或者什么别的操作。
6.电脑上输入

adb logcat -d > c:/b.log

在C盘下会创建一个b.log,储存了刚才的设备操作。
7.用notepad++或者其他文本编辑器打开b.log,搜索"Touch event's",可以忽略大小写来查找。
不出意外应可以找到2个事件,一次是按下,一次是弹起。
如图可以看到,在点击事件下方,一个ID为10640的进程拉起了浏览器。
我们把这个ID记下来。
8.回到adb,输入

adb shell

进入shell界面,再输入(将10640换成你找到的ID)

ps | grep "10640"

返回结果如下
这个com.zdworks.android.zdcalendar就是罪魁祸首
后面的事情就简单了,可以直接在adb中输入,卸载之。

adb uninstall com.zdworks.android.zdcalendar

9.返回手机,关闭USB调试。
教程至此,我们已经成功揪出这个家伙,教程分2段写的,所以命令的时间会有差异。