diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-01-31 20:19:33 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-02-01 00:29:36 +0530 |
commit | 1d3586d0d513783e313428a6c57e18691a51f1fe (patch) | |
tree | 0097ad07eade89720e9c162640b4eef3e5bbfeac /yt_dlp/extractor/adn.py | |
parent | c533c89ce1d6965d8575413738d76a5bf9e2de59 (diff) | |
download | hypervideo-pre-1d3586d0d513783e313428a6c57e18691a51f1fe.tar.lz hypervideo-pre-1d3586d0d513783e313428a6c57e18691a51f1fe.tar.xz hypervideo-pre-1d3586d0d513783e313428a6c57e18691a51f1fe.zip |
[aes] Add unpad_pkcs7
Diffstat (limited to 'yt_dlp/extractor/adn.py')
-rw-r--r-- | yt_dlp/extractor/adn.py | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/yt_dlp/extractor/adn.py b/yt_dlp/extractor/adn.py index 5a1283baa..0863e0d85 100644 --- a/yt_dlp/extractor/adn.py +++ b/yt_dlp/extractor/adn.py @@ -8,11 +8,10 @@ import os import random from .common import InfoExtractor -from ..aes import aes_cbc_decrypt +from ..aes import aes_cbc_decrypt_bytes, unpad_pkcs7 from ..compat import ( compat_HTTPError, compat_b64decode, - compat_ord, ) from ..utils import ( ass_subtitles_timecode, @@ -84,14 +83,11 @@ class ADNIE(InfoExtractor): return None # http://animedigitalnetwork.fr/components/com_vodvideo/videojs/adn-vjs.min.js - dec_subtitles = intlist_to_bytes(aes_cbc_decrypt( - bytes_to_intlist(compat_b64decode(enc_subtitles[24:])), - bytes_to_intlist(binascii.unhexlify(self._K + 'ab9f52f5baae7c72')), - bytes_to_intlist(compat_b64decode(enc_subtitles[:24])) - )) - subtitles_json = self._parse_json( - dec_subtitles[:-compat_ord(dec_subtitles[-1])].decode(), - None, fatal=False) + dec_subtitles = unpad_pkcs7(aes_cbc_decrypt_bytes( + compat_b64decode(enc_subtitles[24:]), + binascii.unhexlify(self._K + 'ab9f52f5baae7c72'), + compat_b64decode(enc_subtitles[:24]))) + subtitles_json = self._parse_json(dec_subtitles.decode(), None, fatal=False) if not subtitles_json: return None |