找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 192|回复: 0

某bobo在线视频APP下载暴力流逆向

[复制链接]

2万

主题

137

回帖

13万

积分

管理员

积分
139366
发表于 2021-12-2 20:13:08 | 显示全部楼层 |阅读模式 IP:山东省青岛市 移动

登录后更精彩...O(∩_∩)O...

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

×
本帖最后由 mind 于 2021-12-2 20:16 编辑

某bobo在线视频APP下载暴力流逆向
2020-11-30 16:39



最近朋友抱怨某软件的下载很慢,想在电脑上面直接下载观看。
众所周知此领域竞争激烈,所以安全意识普遍较高,分析起来较为困难,颇具挑战性。
目标以尽量以最快速度解决战斗,下面分享我的分析过程:
静态分析
不够暴力,略。
动态分析
网络协议是永恒的话题,数据流转的起点与终点,也是我们三板斧的开始。
在此简单总结下安卓网络框架现状:
### okhttp:
大众框架,网上资料多,见过最多,例如本样本。
hook方案
可以选择插入HttpLoggingInterceptor,此方法网上很多,最早是珍惜的xposed模块,后来进化的frida模块,增强抗混淆xposed模块。
此方案反制方法太多,本人更喜欢直接hook
缺点就是解析起来很麻烦。
### cronet:
性能优于okhttp,网上资料不多,大厂很多都用,例如字节,某手。
hook方案:
框架操作多数在native,java层没有像okhttp那样请求响应的读写点,如果java层hook建议分别hook,涉及类

### HttpUrlConnection:
旧时代产物了,多老版本使用。
hook方案

这个还有可能其他实现类。

统统HOOK,打印结果
1.png

样本使用的是okhttp,但内容没有什么线索,数据都做过加密处理。
这时使用第二板斧,因为内存中会存在读写操作,猜测会存在一个下载列表,那就内存漫游起来
HOOK 几个关键类
结果在java.io.InputStreamReader<init>(Ljava/io/InputStream;)V有意外惊喜:发现了m3u8文件!
2.png

编写插件
拿到了m3u8文件就好办了,
文件里面有解密的key的存储位置,将他从手机中导出来。
下面就使用python编写脚本先下载m3u9文件里面的链接,再将其解密,最后再拼接起来就是一个完整的ts文件,具体代码如下
下载:

解密:

拼接:

结果,起飞

总结
出了一期比较无脑的逆向文章,希望给大家提供另一种思路。
如果后续有感兴趣的朋友我可以继续出一篇改机无限观看功能文章,共同学习。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|时间戳|加密|CTF WiKi|CTF平台汇总|CTF show|ctfhub|棱角安全|rutracker|攻防世界|php手册|peiqi文库|CyberChef|猫捉鱼铃|手机版|小黑屋|cn-sec|IOTsec-Zone|在线工具|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2024-9-19 09:27

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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