diff options
author | shirt <2660574+shirt-dev@users.noreply.github.com> | 2021-10-17 22:44:20 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-18 08:14:20 +0530 |
commit | 373475f03553a7fff2d20df878755bfad2fab8e5 (patch) | |
tree | 4510d083ee817f098235dda59623841495d1a2b8 | |
parent | 920134b2e526ccb39a368add5547788361c78fb3 (diff) | |
download | hypervideo-pre-373475f03553a7fff2d20df878755bfad2fab8e5.tar.lz hypervideo-pre-373475f03553a7fff2d20df878755bfad2fab8e5.tar.xz hypervideo-pre-373475f03553a7fff2d20df878755bfad2fab8e5.zip |
[fragments] Pad fragments before decrypting (#1298)
Closes #197, #1297, #1007
Authored by: shirt-dev
-rw-r--r-- | yt_dlp/downloader/fragment.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/yt_dlp/downloader/fragment.py b/yt_dlp/downloader/fragment.py index 6a490131b..d0eaede7e 100644 --- a/yt_dlp/downloader/fragment.py +++ b/yt_dlp/downloader/fragment.py @@ -355,7 +355,8 @@ class FragmentFD(FileDownloader): # not what it decrypts to. if self.params.get('test', False): return frag_content - decrypted_data = aes_cbc_decrypt_bytes(frag_content, decrypt_info['KEY'], iv) + padding_len = 16 - (len(frag_content) % 16) + decrypted_data = aes_cbc_decrypt_bytes(frag_content + bytes([padding_len] * padding_len), decrypt_info['KEY'], iv) return decrypted_data[:-decrypted_data[-1]] return decrypt_fragment |