通过Frida创建API进行爬取内容

1. 尝试抓包

工具:CharlesApiPost7Android手机IPhone

首先要做的,肯定是抓包,看看他们之间都做了哪些勾当,我选用的是Charles。
毫不意外,在抓包的时候就遇到了各种问题。
:rggrg

使用Android手机抓包

在使用Android手机抓包的过程中,最开始遇到的是安装证书后,App提示无网络
查了各种资料,发现Android7以上的系统,App可能不再信任用户自己添加的凭证,所以需要root手机后将凭证移到系统目录下。
这部分网上的资料很多,不做过多介绍。

在这里只提一点,如果你的Charles很长时间没用了(一年多),一定要看一下证书的过期时间,如果证书已经过期了,那最好重置一下证书。

不然就像我一样,折腾了半天发现证书是过期的…… :'(weeqw


这时候会发现安装了证书后,打开网页或使用其他App都可以正常抓包,但打开某视频App,依旧是没有网络

之后又查资料,有可能某视频App使用了SSL Pinning技术,就是开发者只信任自己的证书。


于是又在手机上安装了LSPosed以及JustTrustMe模块并启用,但问题依旧,App还是提示无网络

使用IPhone抓包

Android手机行不通,那试试IPhone?

IPhone上安装证书的方式与Android不同,将证书文件下载到手机内后,在设置
“VPN与设备管理”,先安装描述文件
然后再去 通用 → 关于本机 → 证书信任设置 中,启用证书


相对来说,iPhone的安装便简单了很多,并且打开某视频App后一切正常,Charles中也出现了各种请求。

但这时会发现,Charles拦截的请求中,几乎全部都是乱码。

所幸有一条 https://liveinfo.ysp.cctv.cn 的请求是可以被正常被解码的,

而这条请求也正包含了我们需要的直播源信息。

 

通过Frida创建API进行爬取内容插图


多尝试几次,并分析一下请求的参数,从直觉上来看,最重要的就是cKey这个值。
再使用ApiPost,反复测试大概猜出了defncnlidlivepid等几个参数代表的意义,
也得知了platformsdtfromappVerencryptVercmdcnlidcKey等几个值为必填,所幸的是必填项里,也只有cKey是动态的,
所以接下来我们就要看看怎么获取这个cKey值。
2. 获取cKey
工具:jadx Frida
如果是在网页端,那直接用开发者工具进行断点调试就可以了。
但是如果是App端该如何呢?不论如何,从逻辑上来讲,总归的思路是需要反编译App。
查了些资料,反编译Android App比iOS App要方便些,所以便从Android入手。
使用jadx反编译App,映入眼帘的都是a、b、c、d、e、f、g啥的。
虽然不懂,但很明显已经是被混淆过的,可能这个已经是App的标配了吧,还好jadx反混淆功能
找到cKey相关的方法
既然请求的关键字是cKey,那么代码中总归是有和cKey相关的字眼吧?尝试全局搜索一下。
本站资源来自互联网收集,仅提供信息发布
一旦您浏览本站,即表示您已接受以下条约:
1.使用辅助可能会违反游戏协议,甚至违法,用户有权决定使用,并自行承担风险;
2.本站辅助严禁用于任何形式的商业用途,若被恶意贩卖,利益与本站无关;
3.本站为非营利性网站,但为了分担服务器等运营费用,收费均为赞助,没有任何利益收益。
死神科技 » 通过Frida创建API进行爬取内容

死神科技,因为专业,所以领先。

网站首页 24小时自动发卡
在线客服
24小时在线客服
阿里云自动发卡,购卡进群售后
12:01
您好,有任何疑问请与我们联系!

选择聊天工具: