关于4gtv(四季线上) APP 逆向 —— 免费看台湾频道

关于4gtv(四季线上) APP 逆向 —— 免费看台湾频道

💡 原文中文,约9100字,阅读约需22分钟。
📝

内容提要

本文讨论了4gtv(四季线上)APP的逆向工程,旨在获取台湾频道的直播源地址。通过使用抓包工具Charles分析APP的API调用,获取频道列表和节目单。文章详细介绍了如何逆向分析以获取关键的加密参数和生成规则,从而伪造请求以获取直播源。最后提到将相关代码翻译成Python以便管理直播源。

🔎

延伸解读

逆向目标与核心难点

文章逆向4gtv APP的主要目标是获取台湾频道的直播源地址,以便整合到自建的m3u8列表中。核心难点在于4gtv_auth参数的生成规则,该参数每天变化,需要逆向APP才能理解其加密逻辑。作者通过Charles抓包和jadx反编译,定位到关键加密代码,发现4gtv_auth由日期和AES加密结果经SHA-512哈希生成。

关键参数与获取方式

伪造请求需要多个关键参数:fsenc_key(UUID)、fsdevice(设备类型)、4gtv_auth(动态密钥)、user-agent(自定义UA)和cookie。其中head_key来自/APP/GetAPPConfig接口的响应,KEY和IV则硬编码在APP配置文件中。作者指出,直接复制APP的user-agent和收集cookie是简单有效的策略。

加密逻辑与实现要点

4gtv_auth的生成规则是:先对head_key进行Base64解码,再用AES/CBC/PKCS5Padding模式解密,密钥为KEY,IV为IV,得到中间字符串;然后将当前日期(格式yyyyMMdd,GMT时区)与中间字符串拼接,进行SHA-512哈希,最后Base64编码。作者用Java实现了该逻辑,并计划翻译成Python以便管理直播源。

实践限制与注意事项

文章提到,4gtv_auth每天变化,使用前一天的会验证失败,因此必须动态生成。此外,PC端有Cloudflare防火墙,可能触发人机验证,而APP端相对容易抓包。作者使用iPhone抓包避免了Android root的麻烦,但指出专业逆向仍需root的Android手机。这些限制意味着该方法需要持续维护。

❓

Q&A

如何使用4gtv APP获取台湾频道的直播源地址?

可以通过抓包工具Charles分析APP的API调用,获取频道列表和节目单,从而获取直播源地址。

4gtv_auth的生成规则是什么?

4gtv_auth的生成规则涉及多个参数,包括当前日期和一些加密逻辑,需要通过逆向分析APP来理解。

为什么需要逆向分析4gtv APP?

逆向分析4gtv APP是为了理解加密参数和生成规则,从而伪造请求以获取直播源。

使用Charles抓包时需要注意什么?

使用Charles抓包时,确保设备不需要root权限,iPhone可以直接使用,而Android设备通常需要root。

如何将抓取到的代码转换为Python?

可以将抓取到的Java代码逻辑翻译成Python,以便管理直播源。

4gtv APP的逆向工程有什么风险?

逆向工程可能涉及法律风险和技术风险,尤其是在处理加密和伪造请求时。

🏷️

标签

➡️

继续阅读