使用openssl m3u8解密 EXT-X-KEY:METHOD=AES-128,URI=xxx
openssl
传输层安全性/安全套接层及其加密库
项目地址:https://gitcode.com/gh_mirrors/ope/openssl
免费下载资源
·
1.ts
ts是日本高清摄像机拍摄下进行的封装格式,全称为MPEG2-TS。ts即"Transport Stream"的缩写。MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。
大多数在线播放的视频使用ts格式作流媒体传输
2.m3u8
M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。“M3U” 和 “M3U8” 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。
通常m3u8包含了若干个ts文件的名称,按播放顺序有序排列,还包括版本、是否加密等信息
下面对AES-128的ts文件解密
.m3u8文件
F12查看key
步骤
openssl aes-128-cbc自动化脚本
#16进制数转ascii码,这个预先生成,最后的0a不要
#hexdump -v -e '16/1 "%02x"' key.key
#0a4d96498feee8ae
strkey=30613464393634393866656565386165
#一共有120个小文件
for j in $(seq 0 119)
do
#echo $j
iv=$(printf '%032x' $j)
#echo $iv
input="./ts/"$j".mp4"
output="./output/"$j"_out.mp4"
#echo $input
#echo $output
openssl aes-128-cbc -d -in $input -out $output -nosalt -iv $iv -K $strkey
done
#openssl aes-128-cbc -d -in 0.mp4 -out 0_out.mp4 -nosalt -iv $iv -K $strkey
[root@localhost ~]# ./aes_run.sh
[root@localhost ~]# ls ./output/
0_out.mp4 110_out.mp4 13_out.mp4 24_out.mp4 35_out.mp4 46_out.mp4 57_out.mp4 68_out.mp4 79_out.mp4 8_out.mp4
100_out.mp4 111_out.mp4 14_out.mp4 25_out.mp4 36_out.mp4 47_out.mp4 58_out.mp4 69_out.mp4 7_out.mp4 90_out.mp4
101_out.mp4 112_out.mp4 15_out.mp4 26_out.mp4 37_out.mp4 48_out.mp4 59_out.mp4 6_out.mp4 80_out.mp4 91_out.mp4
102_out.mp4 113_out.mp4 16_out.mp4 27_out.mp4 38_out.mp4 49_out.mp4 5_out.mp4 70_out.mp4 81_out.mp4 92_out.mp4
103_out.mp4 114_out.mp4 17_out.mp4 28_out.mp4 39_out.mp4 4_out.mp4 60_out.mp4 71_out.mp4 82_out.mp4 93_out.mp4
104_out.mp4 115_out.mp4 18_out.mp4 29_out.mp4 3_out.mp4 50_out.mp4 61_out.mp4 72_out.mp4 83_out.mp4 94_out.mp4
105_out.mp4 116_out.mp4 19_out.mp4 2_out.mp4 40_out.mp4 51_out.mp4 62_out.mp4 73_out.mp4 84_out.mp4 95_out.mp4
106_out.mp4 117_out.mp4 1_out.mp4 30_out.mp4 41_out.mp4 52_out.mp4 63_out.mp4 74_out.mp4 85_out.mp4 96_out.mp4
107_out.mp4 118_out.mp4 20_out.mp4 31_out.mp4 42_out.mp4 53_out.mp4 64_out.mp4 75_out.mp4 86_out.mp4 97_out.mp4
108_out.mp4 119_out.mp4 21_out.mp4 32_out.mp4 43_out.mp4 54_out.mp4 65_out.mp4 76_out.mp4 87_out.mp4 98_out.mp4
109_out.mp4 11_out.mp4 22_out.mp4 33_out.mp4 44_out.mp4 55_out.mp4 66_out.mp4 77_out.mp4 88_out.mp4 99_out.mp4
10_out.mp4 12_out.mp4
openssl aes-128加密方式
ECB:是一种基础的加密方式,密文被分割成分组长度相等的块(不足补齐),然后单独一个个加密,一个个输出组成密文。
CBC:是一种循环模式,前一个分组的密文和当前分组的明文异或操作后再加密,这样做的目的是增强破解难度。
例如
openssl aes-128-cbc -d -in 8JgoCJ8p/20.ts -out 8JgoCJ8p/out_20.ts -K 62313737353431616663646439616161 -iv 00000000000000000000000000000000
openssl aes-128-ecb -d -in 8JgoCJ8p/20.ts -out 8JgoCJ8p/out_20.ts -K 62313737353431616663646439616161
合并ts文件,使用ffmpeg清晰的更高
ffmpeg.exe -f concat -safe 0 -i ./filelist.txt -c copy ./test.mp4
filelist.txt:
file '0.ts'
file '1.ts'
file '2.ts'
file '3.ts'
file '4.ts'
file '5.ts'
file '6.ts'
file '7.ts'
file '8.ts'
file '9.ts'
file '10.ts'
file '11.ts'
file '12.ts'
参考
https://blog.csdn.net/newnewfeng/article/details/52275650
GitHub 加速计划 / ope / openssl
25.13 K
9.99 K
下载
传输层安全性/安全套接层及其加密库
最近提交(Master分支:1 个月前 )
fd39d1c8
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/25095)
2 个月前
ae87c488
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/25095)
2 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)