qzuser 发表于 2022-9-20 11:53

申请会员ID:chenzhenyang


1、申 请 I D:chenzhenyang
2、个人邮箱:18765862610@163.com



# 小鹅通 m3u8 key 加密逆向整理;
目标是确定两部分内容,解密的key和所有ts文件的地址;

## 获取解密 key

1. Chrome 开发者工具,网络,过滤m3u8

!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920094433.png)

``` m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://app.xiaoe-tech.com/xe.basic-platform.material-center.distribute.vod.pri.get/1.0.0?app_id=apppg8fcrdu3512&mid=m_cYfxdbgXsTq0i_XUgwZjTD&urld=35f5aba54e19a0376a42ee303e00094d",IV=0x00000000000000000000000000000000
#EXTINF:2.000000,
v.f421220_0.ts?start=0&end=65999&type=mpegts
#EXTINF:2.000000,
v.f421220_0.ts?start=66000&end=158127&type=mpegts
......
```

2. Chrome 开发者工具,网络,过滤 EXT-X-KEY 的地址

!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920094621.png)

实际请求地址如下:

``` html
https://app.xiaoe-tech.com/xe.basic-platform.material-center.distribute.vod.pri.get/1.0.0?app_id=apppg8fcrdu3512&mid=m_cYfxdbgXsTq0i_XUgwZjTD&urld=35f5aba54e19a0376a42ee303e00094d&uid=u_6311c7f721af1_4OVmnnbvij
```

实际请求地址,比m3u8文件中的EXT-X-KEY的地址多了uid参数,用户的id;

!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920094822.png)

如上,返回的内容是一段乱码,在这看不出具体内容来,需要在js里debug到可以显示此变量的地方,看一下在内存里存储的实际内容;

3. 找到发起key url请求的程序,然后定位其对请求返回的内容的处理过程即可,或者找到发起ts请求的逻辑,看如何处理ts的输出(ts的输出是需要解密的);第一种方法:
!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920095253.png)
通过debug找到这样一段逻辑:

!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920095608.png)

根据红框中的判断逻辑,可以知道这是处理key url请求返回值的地方;

!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920112153.png)

返回值经过一系列计算之后传递给loadsuccess方法,计算过程可以先不用关心,因为大概率是一次性的;

!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920112412.png)

传递给loadsuccess方法;

!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920111607.png)

再看一眼
!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920111823.png)

这样我们就得到了key:B39D10FEA76560EA490835154BC0F536;IV 和 Method在m3u8文件中都有,直接复制即可;

## 获取ts列表

1. Chrome 开发者工具,网络,过滤ts
!(https://raw.githubusercontent.com/chenzhenyang/images/master/highgo/20220920112829.png)

ts地址的格式如下:

``` html
https://encrypt-k-vod.xet.tech/9764a7a5vodtransgzp1252524126/1c63d219387702305646359637/drm/v.f421220_0.ts?start=200077632&end=200191567&type=mpegts&sign=7d853cccf1064a27651802d3e59fce45&t=6329da58&us=gMBMwTxQqb
```

ts列表在m3u8文件中的格式如下:

``` m3u8
#EXTINF:2.000000,
v.f421220_0.ts?start=0&end=65999&type=mpegts
```

m3u8文件中直接解析到地址缺一段前缀

``` html
https://encrypt-k-vod.xet.tech/9764a7a5vodtransgzp1252524126/1c63d219387702305646359637/drm/
```

还缺一段后缀

``` html
&sign=7d853cccf1064a27651802d3e59fce45&t=6329da58&us=gMBMwTxQqb
```

查看多个ts文件请求,发现后缀这一段是相同的,不加的话会 http 403 拒绝请求。

连续测试了两三天,随后发现后缀这一段每天会不一样(可能是每次登录会不一样),只需要临时通过 Chrome 开发者工具找出来配置给程序即可。

Hmily 发表于 2022-9-20 17:35

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。

ps:内容过于简单,类似问题太多,补充一些更有技术含量的内容进行申请吧。
页: [1]
查看完整版本: 申请会员ID:chenzhenyang