注册

Android逆向之某影音app去广告

前言


本文介绍通过抓包的方式,分析出某影音app的去广告逆向点,难度极低,适合新手上路。


所谓逆向,三分逆,七分猜。


分析过程


首先打开app,可以看到不时有广告弹出。我们的目标就是去除这些广告。


image.png

首先想到的思路是定位到加载广告的代码删掉即可,使用 MT 管理器查看安装包的 dex 文件,可以看到大量 a、b、c 的目录,可见代码被混淆过的,直接上手分析太费劲了。


image.png

接着猜测,既然 app 能动态加载各种广告,必然会发起 http 网络请求,只需要分析出哪些请求是和广告相关的,将其拦截,即可实现去广告的目的。


所以接下来尝试抓包分析一下。


抓 http 请求推荐使用 Burp Suite,使用社区版即可。


打开 Burp Suite,切换到 Proxy 页。Proxy 即创建一个代理服务器,配置所有的网络请求连接到这个代理服务器,就可以看到所有经过代理服务器的 http 请求,并且能拦截修改请求、丢弃请求。


打开 Proxy settings,编辑默认的代理服务器地址配置。


image.png

端口号我这里填写 8888,地址选择当前机器的 ip 地址,与 ipconfig 命令显示的 ip 保持一致。


image.png


确定后选择导出 DER 格式的证书。


image.png


任意取名,文件扩展名为 .cer。


image.png


由于抓包需要电脑与手机在同一网络环境下, 因此建议使用安卓模拟器。


将 cer 文件导入到安卓模拟器中,之后打开设置 - 安全 - 加密与凭据 - 从SD卡安装(不同安卓会有所不同)。


image.png


选择 cer 文件后,随意命名,凭据用途选择 WLAN。确定后安装成功。
image.png


编辑当前连接的 wifi,设置代理为手动,主机名和端口填我们在 Burp Suite 中填写的内容。


image.png


打开 Burp Suite 打开代理拦截。


image.png


此时重新打开app,可以看到 Burp Suite 成功拦截了一条网络请求,并且app卡在启动页上。


image.png


此时点击 Drop (丢弃该请求),该请求会重发又被拦截,全部 Drop 掉。


image.png


此时惊喜的发现,进入了app首页,并且没有任何广告弹窗了。


由此可见,启动app时首先会加载 json 配置,根据配置去加载广告,只要将这条请求去掉就可以达到去广告的目的。只需要到app中反编译搜索拦截到的请求 url ,即可定位到拉取广告的代码。


搜索 sjmconfig,即可定位到目标代码。


image.png


将域名修改为 localhost,那么这条请求将永远不会成功。


image.png


之后保存修改、签名,重新安装,完事收工。


作者:seasonhai
来源:juejin.cn/post/7343139490901737482

0 个评论

要回复文章请先登录注册