原文链接:www.bigfog.info

前言

目前视频播放类APK在播放前都会播放一段广告,短则几十秒,多则一分多钟。当然Vip会员就不会有广告播放,毕竟这也是人家重要的的收入来源。本文就用抓取流量包的方式获取到广告的url的地址,进而在播放视频时不会有广告的播放。实验所用的APK为“聚力视频HD”,这款应用没有做什么保护,分析操作起来较容易。

逆向分析

Charles抓包环境配置

抓包工具使用Charles,工具好像要收费,但网上也有破解版。使用该工具需要做一些配置。工具界面如下:

Charles界面-1

  1. 首先要保证手机与电脑要在同一网段内.(这里使用的是夜神模拟器)
  2. 查看电脑的IP地址。打开cmd,输入ipconfig。这里本机地址是192.168.1.103
    本机IP-2
  3. 设置模拟器IP及port。

找到模拟器的设置,点击无线WLAN

模拟器无线界面-3

长按WiredSSID,弹出修改网络提示框。修改网络。

修改网络-4
修改地址及端口-5

打开电脑Charles会出现一个提示框,点击allow即可。这样就配置好了。

抓包分析

Charles抓包界面-6

打开聚力视频,会发现Charles抓了很多包,但并没有用,因为还没有播放视频。点击类似扫把的按钮,将数据包清空。再随便找一个视频打开。抓了很多包后就暂时退出此应用,不然抓包还会更多。

流量抓包-7

可以看到抓了很多流量包,这时就要留意这些链接了。重点关注带有ad的链接,观察返回的json。返回图片的可以直接忽略。

可疑地址-8

这里先看第二个链接:http://ads.data.pplive.com.

可以链接2-9

复制链接到浏览器中,看会返回什么信息。

浏览器返回-10

只是在界面上显示了个ok,并没有什么信息。这个应该不是我们要找的广告链接。

这里再看第一个链接:http://de.as.pptv.com。同样的将url复制到浏览器中,看返回信息。

浏览器返回-11

可以看到返回了一个xml文件,里面包含了很多信息。查看有没有MP4,flv结尾的链接。果不其然发现了一个后缀为MP4的链接。

广告视频地址-12

将连接拷贝到浏览器中查看是否为刚才播放的广告。

广告界面-13

这样就找到了广告链接。

广告链接确认

为了确认这个到底真的是不是广告链接。可以将这些域名重定向到另外一个不存在的服务地址,在链接上右键

map remote-14

修改域名后,点击播放手机视频,看看播放是否正常,还有没有广告播放。

广告播放-15

可以看到广告已经不再播放了。可以确认这就是播放广告的链接。接下来就是源码修改了

破解方案

签名校验检测

签名校验,最简单的就是将apk包反编译后再回编译签名,安装。看程序能否正常运行(有广告,并没有破解)。

签名校验-16

破解apk

使用Android killer反编译聚力视频,当然也可以使用其他的工具,个人爱好。反编译结束后,在搜索框输入链接字符串“http://de.as.pptv.com

android killer-17

可以发现有若干相似字符,但我们要注意到抓包的路径“http://de.as.pptv.com/lkandelivery/vast/3.0draft”。好像都和ad有关。直接将所有字符串替换为空。

替换字符串-18

然后保存,回编译,签名,安装。看下播放视频还会不会有广告播放。

广告拦截-19

总结

经过了抓包,分析后找到正确的链接。本文章主要是介绍抓包分析过程,所以对apk文件并没有很强的要求。爱奇艺对广告链接就封装的很好,抓包不会发现任何有关广告的链接。通过DDMS的输出才会发现广告链接,进而才会发现其广告是通过libcupid.so完成的。而且还有签名校验。搜狐视频的广告链接可以通过抓包获取到,但有签名校验的存在。因为本章节主要是介绍抓包分析,所以并不做过多介绍。