WuJ1n9 发表于 2022-7-19 16:32

某企鹅课堂视频下载分析

本帖最后由 WuJ1n9 于 2022-7-20 17:23 编辑

之前企鹅课堂 m3u8 没有 key 可以直接下载,现在需要简单逆向得 key 后下载。

简单分析一下,主要是记录一下操作流程,供有需要的朋友借鉴。没有什么理论和技术含量,大佬们见笑了。

首先找到视频 m3u8 链接



在启动器中找到解密 key 的 js 文件



进入后,搜索 decryptkey ,在最后一个搜索结果处下断



重新加载视频,停在断点处



注意右边的 i -> levelkey 中之后会运行出现我们需要的 m3u8 地址和 key

单步调试一会儿,key 的解密执行完成(注意可以合理使用 F11)



可以看到,baseuri 就是 m3u8 链接,下面的 16 位就是 key,将其转换为 16 进制即可

可以使用下面的 python 一键转换(将 key 复制另存为 key.txt 即可)

```python
fp = open('key.txt')
key = ""
for line in fp:
    i = line.split(':')
    if len(hex(int(i))) < 4:
      key += '0'
    key += hex(int(i))

print(key)

fp.close()
```

!(https://tva1.sinaimg.cn/large/e6c9d24ely1h4cb031mp4j21840tggms.jpg)




得到 key

```
993aac4a86fbfdccd36b752747f7c681
```

和 m3u8 地址

```
https://1258712167.vod2.myqcloud.com/25121a6avodtransbj1258712167/c14dfd1f387702293358593079/drm/voddrm.token.dWluPTE0NDExNTIxNTQ5MjEzOTM4Nztza2V5PUB3TGU1eEt3NVI7cHNrZXk9O3Bsc2tleT07ZXh0PWY0ZWNhY2YwODhjZGIxNjU4ODBkMjEyZGFkM2FlMDA4ODM0MmE1NDYwOGY2OWU3YmMzMjRmZGUzYWYyYmQ2NjdkZGUyZGJkZDAzZDA5YjE4MWUwOGRlM2Q1MWFmOTJkZjdmMjMxMWE0M2I1YTgxYTQ2YmU5MjQwNTIyYTJhYzA4Mjc4MmU0OWE4ODY5NjYwYjt1aWRfYXBwaWQ9MTQwMDAwMDAwODt1aWRfdHlwZT0yO3VpZF9vcmlnaW5fdWlkX3R5cGU9Mjt1aWRfb3JpZ2luX2F1dGhfdHlwZT0yO2NpZD0xMzk0NTU7dGVybV9pZD05MTM1NzI0Njg7dm9kX3R5cGU9MDtwbGF0Zm9ybT0z.v.f30742.m3u8?t=62E0F1F5&exper=0&us=4476803048189060761&sign=f5beb3f7ed956147a74c04420ecbd5d7
```

使用 m3u8 下载器下载即可



操作虽然不是很复杂,但毕竟不如批量程序方便,为什么不做批量呢,因为太菜不会....

各位随便看看就好

blackwolf116 发表于 2022-7-20 11:47

WuJ1n9 发表于 2022-7-20 11:31
你发的图我这一直显示不出来,要不你把具体视频链接发我看看,按理说方法都是一样的

我发个视频,您试一试。我按照解析的方法:结果如下,

baseuri: "https://1258712167.vod2.myqcloud.com/25121a6avodtransbj1258712167/4a831bcf387702303436821737/drm/voddrm.token.dWluPTE0NDExNTE5OTI2Njc3MDQxMTtza2V5PTtwc2tleT07cGxza2V5PTtleHQ9NDY5YjRjZTZmY2NjODg1N2UwZDczMmYxOGZlN2Y1NmExMjYzOWUyOGY1ZTQ5NDJlMDFlY2E0ZWM3MGM4ZGEyNjI1NmQ4ZjcwNmJkYTc4YzQ5MmU0YjJhZTgyZGZkODY2MTkxYzM0YjJiNTE2ZTQzYzhkNjQ5Mjc4YjFkMTZjZWE3ODgzMDA4ZDk5OGZhMTE3O3VpZF9hcHBpZD0xNDAwMDAwMDA4O3VpZF90eXBlPTI7dWlkX29yaWdpbl91aWRfdHlwZT0yO3VpZF9vcmlnaW5fYXV0aF90eXBlPTI7Y2lkPTM4NTQ2NzI7dGVybV9pZD05MTM1NzI0Njg7dm9kX3R5cGU9MDtwbGF0Zm9ybT0z.v.f30742.m3u8?t=62E20643&exper=0&us=6499714836530243873&sign=feea71722d168f242c1ccd8bc154dcfc"
iv: Uint8Array(16)
key: Uint8Array(16)
0: 213
1: 1
2: 218
3: 148
4: 137
5: 5
6: 108
7: 197
8: 74
9: 57
10: 18
11: 63
12: 32
13: 7
14: 49
15: 134

你看下可否。

sun362652987 发表于 2022-8-8 20:04

0: 207
1: 158
2: 42
3: 8
4: 236
5: 164
6: 102
7: 227
8: 78
9: 101
10: 189
11: 184
12: 128
13: 18
14: 45
15: 47

cf9e2a08eca466e34e65bdb880122d2f

"https://1258712167.vod2.myqcloud.com/fb8e6c92vodtranscq1258712167/e421a2b15285890804885543631/drm/voddrm.token.dWluPTY1NDA3Nzc4NyZ0ZXJtX2lkPTkxMzU3MjQ2OA==.v.f30741.m3u8?t=62FB66CC&exper=0&us=1974674129671318132&sign=6730ab7fd65b0bbb6ab26bd189dab945"

楼主 这是我解析出来的key和地址 怎么放进下载器呢

china-ray 发表于 2022-7-19 16:43

是微信小程序的“鹅直播”吗?

WuJ1n9 发表于 2022-7-19 16:45

china-ray 发表于 2022-7-19 16:43
是微信小程序的“鹅直播”吗?

不是{:1_924:}截图里还挺明显是哪家了

我是不会改名的 发表于 2022-7-19 16:49

你可以分析一下key哪里来的,会发现更简单。这个之前就改了,只是客户端用这个,最近网页才改的

WuJ1n9 发表于 2022-7-19 16:53

我是不会改名的 发表于 2022-7-19 16:49
你可以分析一下key哪里来的,会发现更简单。这个之前就改了,只是客户端用这个,最近网页才改的

嗯嗯,这种加密见挺多的,应该都不需要下断解密
有的直接base64就解出来AES的key和iv了,但这个还没分析太明白
老哥给点提示呗

hj542666772 发表于 2022-7-19 16:55

厉害厉害

52pojiemd5 发表于 2022-7-19 16:56

某CTO学院的有解密思路吗?求教教

Assimov 发表于 2022-7-19 17:14

感谢分享~~~~~~~~~~~

SuperZDK 发表于 2022-7-19 17:14

感谢楼主分享

dangerxyc 发表于 2022-7-19 17:23

页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 某企鹅课堂视频下载分析