直播弹幕抓取逆向分析流程总结 websocket,flash
前端无秘密
直播的逆向抓取说到底是前端的调试和逆向技术,加上部分的dpa(深入包分析,个人能力尚作不到深入,只能作简单分析)难度较低
目前互联网直播弹幕主要是两种技术实现。
1websocket消息通信,js拿到消息再处理到dom中,逆向验证流程,和服务端建立连接后即可,逆向难度较低,消息分明文和加密两种情况,前端无秘密,加密也能找到解密的js代码。如此实现可直接用nodejs,js相关代码通用,一个比较大的坑是服务端websocket版本不一样,所需依赖socker.io包的版本也不一样,要通过各种蛛丝马迹来最终确定版本。
2flash,逆向难度较高,目前纯nodejs后台项目作不到(不支持加载flash文件)
flash支持加载swf文件浏览器功能,swf文件类似为js的依赖包,一个模块,swf实现功能,js引用swf文件,调用api来作上层,js和swf的关系,类似c和汇编编译的包,scala和java编译的jar包的关系。
swf包是可以反编译看源码的
示例工具如 https://www.free-decompiler.com/flash/download/
这又有两种情况
1swf只负责消息通信功能(和websocket的定位类似)内部实现消息的发送和接收,对外公开api,js通过这层api拿数据,js再作数据展示。这种相对简单,在浏览器内部(或其他支持flash的环境),注入js代码,加载swf模块,注册回调即可接收弹幕数据。
2swf不和js交互,完全封闭,flash本身就负责视频流的处理播放,部分网站,弹幕的处理,完全不经过dom,直接由swf处理放到视频流中。
1和2的区别就在于,swf是否显示公开了弹幕消息的处理api,提供了好说,不提供的话考虑成本和可行性,基本毫无办法。
可操作的思路有两个,说白了是一个(因为都要深入分析swf的源码)
个人也没有尝试过,不保证可行,只是思路
1或许swf实现了,只是没有显示的通过js调用,反编译 swf 文件,找出这个api,这种几率不大,纯碰运气。
2抽取处理逻辑,修改代码,公开消息api(或通过其他方式暴露消息,打日志?),编译替换原swf文件。
注入新swf应该不难,作移动端调试时用过fiddler,mac上抓包的charles应该都有现成方案,实在不行,还有老办法,nginx主路流量劫持,之前只劫过 http 的,https 的倒是没试过,可能需要证书按中间人攻击的思路去作。
swf以actionscript编写,个人并没有相关开发和调试经验,前端逆向依赖的前端调试技术,只能停在js层面,对swf完全无力可施,目前个人只能通过查看swf源码,对照js代码作分析。
而actionscript和flash 即将终止支持,非必要,实在不愿在其上浪费时间。
如此操作成本很高 基本思路是
1 定制 actionscript 文件,公开一个外部api,暴露需要的数据,编译为 swf 文件
2 注入swf文件
3 js 访问 swf 暴露出的 api,获取需要数据
直播弹幕还是用flash更安全,这倒不全是技术上的优点,市场方面,一项技术从业人员越少,逆向成本越高
非专业逆向人员,技术有限,认知只限于此,若有误欢迎指出
直播弹幕抓取逆向分析流程总结 websocket,flash的更多相关文章
- [转载]Fiddler为所欲为第四篇 直播源抓取与接口分析 [四]
今天的教程,主要是教大家如何进行“封包逆向”,关键词跳转,接口分析.(怎么样,是不是感觉和OD很像~~~)今天的教程我们以[麻花影视]为例,当然,其他APP的逻辑也是一样,通用的哦~ 首先需要做好准备 ...
- PHP抓取及分析网页的方法详解
本文实例讲述了PHP抓取及分析网页的方法.分享给大家供大家参考,具体如下: 抓取和分析一个文件是非常简单的事.这个教程将通过一个例子带领你一步一步地去实现它.让我们开始吧! 首先,我首必须决定我们将抓 ...
- SNMP报文抓取与分析(二)
SNMP报文抓取与分析(二) SNMP报文抓取与分析(二) 1.SNMP报文表示简介 基本编码规则BER 标识域Tag表示 长度域length表示 2.SNMP报文详细分析(以一个get-respon ...
- SNMP报文抓取与分析(一)
SNMP报文抓取与分析(一) 1.抓取SNMP报文 SNMP报文的形式大致如下图所示 我们这里使用netcat这个工具来抓取snmp的PDU(协议数据单元).(因为我们并不需要前面的IP和UDP首部) ...
- C#抓取和分析网页的类
抓取和分析网页的类. 主要功能有: Ontology 1.提取网页的纯文本,去所有html标签和javascript代码 2.提取网页的链接,包括href和frame及iframe 3.提取网页的ti ...
- NetCloud——一个网易云音乐评论抓取和分析的Python库
在17的四月份,我曾经写了一篇关于网易云音乐爬虫的文章,还写了一篇关于评论数据可视化的文章.在这大半年的时间里,有时会有一些朋友给我发私信询问一些关于代码方面的问题.所以我最近抽空干脆将原来的代码整理 ...
- Scrapy实战篇(八)之爬取教育部高校名单抓取和分析
本节我们以网址https://daxue.eol.cn/mingdan.shtml为初始链接,爬取教育部公布的正规高校名单. 思路: 1.首先以上面的地址开始链接,抓取到下面省份对应的链接. 2.在解 ...
- 吴裕雄--天生自然python学习笔记:WEB数据抓取与分析
Web 数据抓取技术具有非常巨大的应用需求及价值, 用 Python 在网页上收集数据,不仅抓取数据的操作简单, 而且其数据分析功能也十分强大. 通过 Python 的时lib 组件中的 urlpar ...
- Android测试日志文件抓取与分析
1.log文件分类简介 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志 状态信息的有:adb shel ...
随机推荐
- 三、在SAP中文本如何换行
一.在一段文字前面,加上右斜杠符合\ ,这句话就会换行了,如图: 效果如下:
- java内存模型(线程,volatile关键字和sychronized关键字)
volatile关键字 用在多线程,同步变量. 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B.只在某些动作时才进行A和B的同步.因此存在A和B不一致的情况. ...
- dubbo小教程
dubbo小教程 先给出阿里巴巴dubbo的主页:http://code.alibabatech.com/wiki/display/dubbo/Home-zh 自己的demo下载地址:http://d ...
- 深入浅出Python装饰器
1.前言 装饰器是Python的特有的语法,刚接触装饰器的同学可能会觉得装饰器很难理解,装饰器的功能也可以不用装饰器实现,但是装饰器无疑是提高你Python代码质量的利器(尤其是使用在一些具有重复功能 ...
- Java基础之IO流整理
Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽 ...
- Vue iview 表单封装验证
以下内容转自iview社区,仅供自己查看使用 Form表单部分 <div> <Form ref="FormOne" :model="FormOne&qu ...
- Python笔记_第五篇_Python数据分析基础教程_文件的读写
1. 读写文件(基本) savetxt.loadtxt i2 = np.eye(2) print(i2) np.savetxt(r"C:\Users\Thomas\Desktop\eye.t ...
- HTML5 Canvas——基础入门
认识canvas html5的新标签 <canvas>标签只是图像容器,必须使用js来绘制图形 可以通过多种方法使用canvas绘制路径,盒,圆,字符以及添加图像 canvas画布 < ...
- shell字符串大小写转换
1.typeset 有两个选项 -l 代表小写 -u 代表大写. 用法: typeset -u name name='asdasdas' echo $name typeset -l ame am ...
- RK3399开发板Android镜像烧写之Windows系统映像烧写
4.1.1 l RKTool 驱动安装(基于迅为iTOP-3399开发板)DriverAssitant_v4.5.zip 文件,打开 驱动安装成功,如下图: 注意事项:1.目前支持的操作系统包括:X ...