M3U8文件IV值及KEY获取

准备

  • 一个m3u8文件
  • 一个支持查看16进制的文本编辑器(比如ue)
  • openssl

测试地址

aHR0cHM6Ly93eC4yMzMuY29tL3NlYXJjaC92MS9zdHVkeS8/bWlkPTM0MTU2

找到M3U8文件

aHR0cDovL2hscy52aWRlb2NjLm5ldC80YWRmMzdjY2MwLzcvNGFkZjM3Y2NjMDQ4ZGExNWRkOTNkNjAzNThjYjdkMjdfMi5tM3U4

查看文件内容

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-KEY:METHOD=AES-128,URI="http://hls.videocc.net/4adf37ccc0/7/4adf37ccc048da15dd93d60358cb7d27_2.key",IV=0xfae721f7c61ccb9f8d986454e8e923b9
#EXT-X-TARGETDURATION:17
#EXTINF:13.080000,
http://uc-mts.videocc.net/4adf37ccc0/0/1234567890123/7/cb/7d/27_2/4adf37ccc048da15dd93d60358cb7d27_2_0.ts
#EXTINF:10.000000,
  1. 重点是EXT-X-KEY中的内容

    method是视频加密方式:AES-128,

    Key的地址:http://hls.videocc.net/4adf37ccc0/7/4adf37ccc048da15dd93d60358cb7d27_2.key(需要下载该文件),

    IV是偏移量:0xfae721f7c61ccb9f8d986454e8e923b9,

  2. EXTINF中的内容包含了很多个ts后缀的视频文件:http://uc-mts.videocc.net/4adf37ccc0/0/1234567890123/7/cb/7d/27_2/4adf37ccc048da15dd93d60358cb7d27_2_0.ts

解密步骤

  1. 获取key文件16进制的值

    用ue或者其他编辑器都可以,结果如下

    把16进制的值(5D 18这些)复制出来就可以

  2. 获取IV

    文件中已经有了IV的值,我们只需要去掉前面0x,然后取前16位的字符作为iv

  3. 下载一个ts结尾的文件

  4. 最后一步,利用openssl工具对这个ts视频文件进行解密

    openssl.exe aes-128-cbc -d -in 加密的ts视频文件路径 -out 输出的ts视频文件目录 -iv 第二步取到的值 -K 第一步取到的16进制
    

思路

  1. 在文件中找到视频的加密方式METHOD
  2. 在文件中找到key的地址
  3. 用ue或者其他16进制编辑器打开key,复制出16进制的值
  4. iv的值是去掉前面0x标志,取字符串前16位
  5. 然后用openssl工具进行解密

仅供交流学习使用,请勿用于非法用途

posted @ 2022-01-19 09:39  Jruing  阅读(7792)  评论(4编辑  收藏  举报