发新帖

视频应用<芒果TV>去除播放广告教程

  [复制链接]
57091 56
本帖最后由 水波摇曳 于 2015-1-22 17:07 编辑

很多童鞋对去除广告视频应用的广告感兴趣
我也去除过几款,这里就做个简单的教程 支持支持论坛!
下面是正文:

1.反编译之后,首先用正则表达式搜索smali文件中的中文字符,看看是否会发现Log日志这个隗宝:


搜到的结果如下,各种调试信息:


那为什么在DDMS上显示不出来呢,一定是由一个方法来控制它的显示与否的开关;

2.随便点击一个调试输出的信息:


很容易看出输出Log日志的方法在 Lcom/gridsum/videotracker/h/c 类的c()方法中:


那么是否显示Log与a:I的值有关,让它等于1,即v0=v1,也会显示Log日志
这样的值通常是该类的初始化操作:


3.这样回编、签名、运行之后就能愉快的查看Log调试信息的输出了,如下图与广告有关的输出:


最长的那段里面包含有一段html网址,在PC端打开有返回数据,如下图:


我里面标注的就是一段广告的MP4视频,如下:


所以广告就与我们截的那张Log输出的xml格式日志有关咯~

4.再抓包看看,会发现原来那个Log打印出来 是服务器返回的xml文件,如下图:


容易想到,只有获取了广告视频的地址才能播放广告,再返回的数据中广告链接地址的Tag标签是
  <VASTAdTagURI>...</VASTAdTagURI>
不让它正常获取!!!

5.在smali代码中搜索"VASTAdTagURI"


我都给它后面,添加了一个0,
那么它就不能正常获取广告的播放地址
但是程序还正不正常啊 自己试试去!

完了...



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

举报 使用道具

回复

精彩评论57

烈火    发表于 2015-1-21 22:30:32 | 显示全部楼层
本帖最后由 烈火 于 2015-1-21 23:09 编辑

我今天还应约帮一位小朋友去掉芒果启动页倒计时广告

正好做个补充:

1,首先在 AndroidManifest.xml 搜索 app_name,第一个就是我们要找到了:
<application android:allowBackup="true" android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:name="com.hunantv.imgo.global.ImgoApplication" android:theme="@style/AppTheme" android:uiOptions="splitActionBarWhenNarrow">

即  android:name="com.hunantv.imgo.global.ImgoApplication"。

2,依次在 smali 目录下打开 com/hunantv/imgo/global 双击里面的 ImgoApplication.smali,随便找找敏感词,比如 "ad_",结果一下子就找到了。
.method public static e()V
.locals 7

const/4 v2, 0x0

const-string v0, "ad_url"

invoke-static {v0, v2}, Lcom/hunantv/imgo/f/ac;->b(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

move-result-object v0

const-string v1, "ad_file_name"

invoke-static {v1, v2}, Lcom/hunantv/imgo/f/ac;->b(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

move-result-object v1

const/4 v2, 0x0

const-string v3, "/mobile/ad"

invoke-static {}, Lcom/hunantv/imgo/net/c;->b()Lcom/loopj/android/http/RequestParams;

move-result-object v4

const-class v5, Lcom/hunantv/imgo/net/entity/AdImageEntity;

new-instance v6, Lcom/hunantv/imgo/global/g;

invoke-direct {v6, v0, v1}, Lcom/hunantv/imgo/global/g;-><init>(Ljava/lang/String;Ljava/lang/String;)V

invoke-static {v2, v3, v4, v5, v6}, Lcom/hunantv/imgo/net/d;->a(ZLjava/lang/String;Lcom/loopj/android/http/RequestParams;Ljava/lang/Class;Lcom/hunantv/imgo/net/b;)V

return-void
.end method

3,返回值是 return-void,过程中间没发现与外面有啥红杏出墙的交流,就删空试试吧。改完后为:
.method public static e()V
.locals 0

return-void
.end method

4,回编译测试,启动页广告好象真的没啦。。。修改结束。

5,需要注意的是,现在大多数应用,如果以前显示过广告,一定会有缓存,因此下次打开程序,还有可能显示广告,故此,不妨再搜索一遍  "ad_"。结果在 \smali\com\hunantv\imgo\activity\MainActivity.smali 中,又搜索到 了 const-string v0, "ad_file_name"。

在整个函数里上下看看,发现一些有趣的句子。比如:
    ......
    invoke-static {v1}, Lcom/nostra13/universalimageloader/utils/StorageUtils;->getCacheDirectory(Landroid/content/Context;)Ljava/io/File;
    ......
    invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
    ......
    invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
    ......
    invoke-direct {v0, v6}, Landroid/view/animation/AnimationSet;-><init>(Z)V
    ......
    invoke-virtual {v1}, Lcom/hunantv/imgo/activity/dj;->start()Landroid/os/CountDownTimer;

通过这些关键字,您能联想到什么了吗?

哦!对了,其实 start() 以及 CountDown 我是 DDMS 看到首次启动时 logcat 里面出来的关键字。与搜索 "ad_" 相配合,准确率更高。。。我这是通过 NOTEPAD++ 搜索的,非 APKIDE…… 以后还是多用 APKIDE 更好。

以上是我并不专业的改法,拿出来可能误人子弟,我只想提供一个另类思路,千万不可当真。见笑!!

举报 使用道具

回复 支持 2 反对 0
只此而过    发表于 2016-2-19 09:26:14 | 显示全部楼层
反编译Apk之后,怎么用正则表达式搜索smali中的所有中文字符?用哪个软件

举报 使用道具

回复 支持 1 反对 0
只此而过    发表于 2016-2-20 22:04:29 | 显示全部楼层
谢谢大神,我成功了,很简单
已有1人评分 NB 理由
水波摇曳 + 3 很给力!

查看全部评分 总评分: NB +3 

举报 使用道具

回复 支持 0 反对 1
fammer    发表于 2015-1-20 17:19:53 来自手机  | 显示全部楼层
怒顶!!!!!

举报 使用道具

回复
xxoo    发表于 2015-1-20 17:20:11 | 显示全部楼层
出售瓜子,水果,啤酒

举报 使用道具

回复 支持 反对
Sarkozy    发表于 2015-1-20 17:20:15 | 显示全部楼层
啪啪啪,我要看看

举报 使用道具

回复 支持 反对
hong_z    发表于 2015-1-20 17:20:28 | 显示全部楼层
这个可以啊????

举报 使用道具

回复 支持 反对
a359566926    发表于 2015-1-20 17:21:12 | 显示全部楼层
顶一下~

举报 使用道具

回复
andwin    发表于 2015-1-20 17:21:24 | 显示全部楼层
这个要学习一下!

举报 使用道具

回复 支持 反对
beijingshi1    发表于 2015-1-20 17:21:49 | 显示全部楼层
学习学习。。。。。

举报 使用道具

回复
peterdocter    发表于 2015-1-20 17:23:27 来自手机  | 显示全部楼层
本帖最后由 peterdocter 于 2015-1-20 20:45 编辑

验证完已破处多发帖

举报 使用道具

回复 支持 反对
Lnju    发表于 2015-1-20 17:24:23 | 显示全部楼层
强顶NG大大 感谢分享

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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