吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 135409|回复: 1419
收起左侧

[Android 原创] 去除优酷、土豆的广告(详细,长文)

    [复制链接]
jhan 发表于 2018-3-28 20:02
本帖最后由 jhan 于 2018-3-29 14:21 编辑

一、前言
因为自己的工作原因多多少少会接触到Android逆向相关的技术,小萌新第一次发帖分享自己的经验,大大们勿喷经过一个下午的奋斗及不屑努力终于去除了优酷和土豆的广告,话不多说直接开撸。

二、工具准备
1、AndroidKiller
2、JEB
3、Charles
4、Xposed
5、代{过}{滤}理机器人
6、root过的手机或者模拟器(我用的是nexus4)
7、HiJson


三、直接开撸(优酷)
1、去网上下载最新版的优酷视频APK文件。

QQ截图20180328112912.png

2、将下载好的优酷APK文件使用AndroidKiller和JEB进行反编译,然后安装在手机上。
   
QQ截图20180328113723.png     QQ截图20180328113603.png
3、打开Charles进行抓取手机的数据包,在抓包之前呢,我来教大家在手机上安装Charles的证书(用于抓取手机的HTTPS链接)。
   1--第一步呢当然是打开Charles啦,之后点击菜单栏的Help--》SSL proxying --》选择第三项(英文太长了)。
QQ截图20180328114410.png     新建位图图像.png   
     2--选择第三项后会弹出一个框,这英文说的意思大致是:在手机上配置好HTTP的代{过}{滤}理(192.168.0.12:8888 这个是我的电脑的IP和端口      号 ),之后使用手机的浏览器访问 chls.pro/ssl 这个链接。
QQ截图20180328115452.png
    3--接下来操作手机端,首先呢要和电脑在同一个网络中(使用手机的wifi连入电脑的网络,可以是电脑发射出的热点,也可以是路由器     发射出的热点),打开手机的设置,点击进入WLAN--》长按连入的wifi热点--》选择修改网络--》之后勾选“显示高级选择”框--》之后       配置代{过}{滤}理服务器的主机名(我这里填的是192.168.0.12,以你们自己的电脑IP为主)--》再来配置代{过}{滤}理服务器的端口(填入 8888)--》       点击保存按钮,使其生效--》接下来打开手机的浏览器,在地址栏输入 chls.pro/ssl  点击访问--》之后会出现一个安装证书的请求--》随     便输入一个证书的名字--》点击安装(注:安装证书需要开启手机的锁屏功能)--》安装成功后就大功告成。(注:不同的手机进入           HTTP代{过}{滤}理的方式有可能不同,比如:长按连入的wifi热点 有可能是单击
QQ截图20180328120303.png --》 QQ截图20180328121710.png
QQ截图20180328122027.png     QQ截图20180328122145.png
QQ截图20180328122348.png --》 QQ截图20180328133124.png
QQ截图20180328133259.png
  
4、打开Charles,之后在打开手机端的优酷软件,在Charles上抓取到了很多的链接(无用的链接点击Charles的清除按钮,清除无关的链   接)进入软件后随便点击一个视频进行播放,发现有广告出现,之后Charles上也出现了抓取到的优酷视频的链接,之后分析优酷视频传   输的数据,链接比较多,需要一个一个的进去查看。
QQ截图20180328133719.png
5、分析抓取到的链接,发现有几个可疑的链接,经分析发现并不是视频广告。
QQ截图20180328172548.png

6、经过上面的一番折腾后,感觉使用Charles抓取不到优酷的视频广告地址的来源,那么造成这种原因的只有两种可能性,第一种就是:优酷的视频广告的地址来源的链接走的不是HTTP协议,而是其它的(比如:TCP),第二种可能性就是:优酷视频的广告地址来源的链接走的确实是HTTP协议,但是不走手机设置的网络代{过}{滤}理。经过思考,发现第二种可能性最高,于是为了验证这种想法,在手机的网络代{过}{滤}理中把端口设置为8889(Charles的是8888,若设置成8889的话会导致手机的部分应用无法上网),这时只要判断优酷视频在播放视频时是否可以正常播放,若可以正常播放这就说明优酷视频的视频广告地址来源的链接不会走手机系统设置的网络代{过}{滤}理。经过验证发现视频可以正常播放,优酷视频的视频广告地址来源的链接不会走手机系统设置的网络代{过}{滤}理。
QQ截图20180328173836.png     QQ截图20180328173905.png
7、这种情况下别以为我会束手无策,我还有一个神器APP,它就是网络代{过}{滤}理神器“代{过}{滤}理机器人”APP
,这个神器只有一点要求,手机必须root,否则无法使用,接下来我来传授我的功力给大家,小心不要走火入魔
   1--“代{过}{滤}理机器人”这个APP,在网上百度一下就可以下载到了,这里就不贴图了,现在我们来看一下这个APP的功能页面。
    QQ截图20180328174121.png
    2--在这APP内我只教一个功能,其它功能自己去研究吧,首先呢,设置好Host(设置为电脑的IP,我的是192.168.0.12),接下来再设       置端口(设置为Charles的默认端口:8888),之后点击“代{过}{滤}理切换”按钮应用上刚才的配置,这就大功告成了,是不是很简单
    QQ截图20180328174232.png
8、做好上面的步骤之后,接下来就是抓包了,一样的流程,打开优酷视频APP,在Charles内清除无关紧要的链接,然后随便点击一个视频进行播放操作,之后在Charles内点击“停止抓包”的按钮,接下来就是一个一个的寻找疑似视频广告地址来源的链接,最终发现有一个链接(https://ups.youku.com/ups/...
),这个网络连接返回的网络数据包是json格式的,经过解析这个链接,发现有一个叫"ad"的键(json的一个术语),经过观察里面有几个HTTP的地址,使用浏览器打开这些地址,发现果然是优酷的视频广告,这时去除广告的突破点来了,在java代码内肯定会解析服务器返回回来的数据,这时我们只要把广告的数据进行清空就行了。话不多说,接下来开工。
QQ截图20180328175053.png     QQ截图20180328181452.png     QQ截图20180328191321.png
9、使用AndroidKiller搜索关键字getAd()为什么搜索这个关键字呢,我来回答吧:其实做过Android开发的就知道了,解析json的数据一般会使用一些框架比如:fastjson、gosn之类的,这些框架使用起来很简单,只要对应的生成实体类就行了,解析的json数据一句代码搞定,这里的关键就是搜索实体类中的getAd方法,只要将它的返回值置空就行了,当然若未使用这些框架,却使用最原生的解析方式,那么我们去搜索 “ad” 关键字就行了 ,这里的双引号 不能省略,不能搜ad,而是搜“ad”,原因是为了过滤,避免搜索出一堆),好了,现在我们来看看搜索的结果,发现在VideoInfo实体类中含有getAd方法,接下来打开这个代码文件,发现是一堆smali代码,看不懂的朋友,可以使用JEB查看java代码(JEB工具的使用方法就不贴了,太累
,自行百度使用方法),现在定位到getAd方法代码处,在代码内将返回值改为0就行了(添加代码 const/4 v0,0x0  ,代码的含义是将v0赋值为0,0x0是十六进制,这里要求大家懂一些smali的语法),好了,最终进行优酷视频APP的重打包,点击AndroidKiller的编译按钮,进行重打包操作,重打包成功后不要着急着先装,首先要将手机已装的优酷视频APP进行卸载(因为签名不一致的原因,会导致安装不上的),之后再进行安装重打包好的优酷视频APP,接下来进入APP随便点击一个视频进行播放,发现视频广告去掉了当然这时问题也来了,重打包的优酷视频APP有部分功能运行不正常,甚至无法运行,这个原因我个人认为是由于APP签名的原因,比如QQ登录、微信登录应该是没办法用了,因为QQ和微信提供的SDK会要求一个类似于AppKey的东西,而这个东西需要依靠APP的签名才能生成,签名不一致导致AppKey也会失效,所以没办法使用了。最后我只能使用大招了,这时请另一个神器登场Xposed这个APP我就不多说了都会吧(这里我不会对Xposed的使用方法进行详解,一句话太累,自行百度吧,若需要我也可以开个贴来说说Xposed),我们可以HOOK优酷视频APP从而修改getAd方法的返回值,这样就不会引起优酷视频APP的功能上的异常了。话不多说直接开撸。
QQ截图20180328175411.png --》 QQ截图20180328175455.png
QQ截图20180328182414.png --》 QQ截图20180328182648.png --》 QQ截图20180328182518.png
10、这里呢我使用的是Eclipse(当然也可以使用Android Studio)进行Xposed的插件开发,接下来我就直接贴我编写的类了,详情如下。
QQ截图20180329140711.png
11、编写插件APP之后,直接安装这个去除优酷视频广告的APP插件,安装成功之后,在Xpoesd软件中启用这个插件并重启手机使其生效,接下来安装正版的优酷视频APP,然后打开APP,随便播放一个视频,是不是发现广告不见啦,好,大功告成

QQ截图20180328185426.png   --》 QQ截图20180328185625.png
四、去除土豆视频的广告
   首先呢我要说一点,就是土豆被优酷收购了,所以土豆返回的数据来源和优酷差不多,好了,废话不多说,直接开撸。
1、下载土豆视频的APP,反编译并且安装在手机上,随意打开一个视频进行播放(秦时丽人明月心)
QQ截图20180328194238.png
2、使用Charles开始抓取土豆的广告视频链接的地址,是不是发现和优酷返回的json数据形式很相似呢(呵呵,一个尿性
)。

191813i44j3vqqvvhhr4az.png
3、使用AndroidKiller直接搜索"getAd()"方法(注意:不要把双引号一并搜索了),发现竟然搜索不出来,说明土豆视频APP使用的是原生解析json的方式,所以转换一下直接搜索“ad”字符串(注意:连带双引号一并搜索),搜索出结果了吧,发现有很多处都含有“ad”字符串,现在只有把所有的“ad”字符串替换成空字符串就行了,使其解析不出广告的数据,接下来就是重打包了,点击编译,重打包成功,再安装APP,运行正常,之后随便点击一个视频进行播放,是不是发现没有视频广告了呢
QQ截图20180328193052.png
QQ截图20180328193146.png
QQ截图20180328193226.png
QQ截图20180328193339.png -
QQ截图20180328193502.png
QQ截图20180328193647.png

五、多多支持萌新哟。
注:转载请标明出处。

文件的地址.txt

64 Bytes, 下载次数: 1440, 下载积分: 吾爱币 -1 CB

文件的地址

点评

我还有一个更简单的办法,下载Google Play版优酷。哈哈哈开玩笑的,支持技术分享  发表于 2018-4-9 15:50

免费评分

参与人数 396吾爱币 +370 热心值 +371 收起 理由
hyc_shoyo + 1 谢谢@Thanks!
flexitime + 1 + 1 写的很好 ,学习了,感谢分享
abilon + 1 谢谢@Thanks!
whfll + 1 我很赞同!
xianlai2009 + 1 热心回复!
tanyoubin + 1 我很赞同!
童心偶得0618 + 1 用心讨论,共获提升!
repobor + 1 + 1 鼓励转贴优秀软件安全工具和文档!
ADkil + 1 用心讨论,共获提升!
懵圈的小白 + 1 + 1 我很赞同!
cherubines + 1 + 1 很厉害啊,楷模
jiantao0602 + 1 + 1 谢谢@Thanks!
leimingyingshi + 1 我很赞同!
Ai5 + 1 我很赞同!
goodyyll + 1 + 1 用心讨论,共获提升!
lxg4000 + 1 + 1 谢谢@Thanks!
涛之雨 + 1 + 1 谢谢@Thanks!
huiji + 1 + 1 热心回复!
szwg1110 + 1 我很赞同!
neptune15 + 1 谢谢@Thanks!
丶无殇 + 1 我很赞同!
小菜戏大神 + 1 + 1 用心讨论,共获提升!
丨下个丶路口 + 1 + 1 谢谢@Thanks!
又红又专 + 1 + 1 热心回复!
maomaoxiong + 1 + 1 谢谢@Thanks!
leolover + 1 + 1 我很赞同!
ww66776635 + 1 用心讨论,共获提升!
吾之小羽 + 1 + 1 谢谢@Thanks!
hter + 1 + 1 我很赞同!
pfpfzkf56a9 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
买个祭品合撒旦 + 1 + 1 用心讨论,共获提升!
fangbobo + 1 + 1 我很赞同!
and1=1 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
斯德穆 + 1 + 1 谢谢@Thanks!
我要吐槽 + 1 用心讨论,共获提升!
安尼大大 + 1 + 1 我很赞同!
lotuslx + 1 + 1 不错,不知道pac直接屏蔽getad的链接导致无法获取是否可行
ccs101 + 1 + 1 谢谢@Thanks!
lu_ + 1 + 1 膜拜大神
庚辰庚辰 + 2 + 2 谢谢@Thanks!
下软件就用这个 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
天涯人 + 1 涨知识了
qq053 + 1 谢谢@Thanks!
系统查无此鸟 + 1 + 1 我很赞同!
天羽 + 1 用心讨论,共获提升!
chongciyibai + 1 + 1 热心回复!
abc木木 + 1 热心回复!
大龙猫 + 1 谢谢@Thanks!
dongfangguniang + 1 + 1 鼓励转贴优秀软件安全工具和文档!
小章大大呀 + 1 + 1 很认真的帖子,支持楼主。
FtsOZz + 1 + 1 鼓励转贴优秀软件安全工具和文档!
tumamen + 1 谢谢@Thanks!
WelcomeWorld + 1 + 1 谢谢@Thanks!
沈大爷 + 1 + 1 大神,请受小弟一拜
xiaohang196 + 1 + 1 谢谢@Thanks!
zyl348228952 + 1 热心回复!
f8561 + 1 热心回复!
wuai6697854 + 1 谢谢@Thanks!
GZT1524 + 1 + 1 谢谢@Thanks!
pj12138 + 1 我很赞同!
回忆里待续 + 1 + 1 我很赞同!
Nice11 + 1 + 1 我很赞同!
z5948850 + 1 + 1 谢谢@Thanks!
mortalboold + 1 + 1 我很赞同!
一不小心就丶 + 1 + 1 谢谢@Thanks!
海天一色001 + 1 + 1 谢谢@Thanks!
忘情的城市 + 1 + 1 很详细,小伙子你为何一枝独秀
ZjyCjy + 1 + 1 用心讨论,共获提升!
SYD缇缇丝 + 1 + 1 用心讨论,共获提升!
良辰讵可待 + 1 感谢大佬分享
Sate_smh + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
385290864 + 1 + 1 我很赞同!
某些人 + 1 + 1 谢谢@Thanks!
幼稚鬼 + 1 热心回复!
zzoomm + 1 用心讨论,共获提升!
sreeny + 1 + 1 用心讨论,共获提升!
zaizai12 + 1 + 1 用心讨论,共获提升!
Drawes + 1 + 1 谢谢@Thanks!
logh + 1 我很赞同!
一闪君主 + 1 + 1 谢谢@Thanks!
优Hssw + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lockltd + 1 + 1 写的很详细,受教了
zxyksx888 + 1 谢谢@Thanks!
leyhom + 1 + 1 用心讨论,共获提升!
毕竟是学生 + 1 + 1 好腻害
好人家02 + 1 + 1 用心讨论,共获提升!
逄不怪 + 1 + 1 谢谢@Thanks!
okity + 1 + 1 谢谢@Thanks!
梦死迷城 + 1 谢谢
爱偷油的小猪 + 1 + 1 谢谢@Thanks!
luge9798 + 1 + 1 我很赞同!
zzxee + 1 教程写的很详细 厉害!
gemeooo + 1 我很赞同!
天之哀伤 + 1 + 1 谢谢@Thanks!
henryshao + 1 + 1 鼓励转贴优秀软件安全工具和文档!
baohzata + 1 谢谢@Thanks!
旁观者迷 + 1 + 1 我很赞同!
eflys + 1 + 1 用心讨论,共获提升!
cn2766 + 1 + 1 谢谢@Thanks!
siliyu123 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

610100 发表于 2018-3-28 21:22
想说一下,tcp和http貌似没有可比性吧?

TPC/IP协议是传输层协议,HTTP是应用层协议
yiyun2010 发表于 2018-3-28 20:13
棉花糖的女主人 发表于 2018-3-28 20:21
打酱油的店小五 发表于 2018-3-28 20:21
向大佬学习
z357369 发表于 2018-3-28 20:24
  可以去软件更新吗~~
yryinrui 发表于 2018-3-28 20:30
emmmmm我还是坚持着全看完了
殇-No.1 发表于 2018-3-28 20:33
没有耐心看完!
天使3号 发表于 2018-3-28 20:48
好文章,支持楼主。就喜欢这种说浅不浅,说深不深的技术型有营养的优秀文章。
中华小熊猫 发表于 2018-3-28 20:48
好东西,有没有苹果的
很迷茫 发表于 2018-3-28 20:57
迅速围观
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-22 10:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表