From 1d3586d0d513783e313428a6c57e18691a51f1fe Mon Sep 17 00:00:00 2001 From: pukkandan Date: Mon, 31 Jan 2022 20:19:33 +0530 Subject: [aes] Add unpad_pkcs7 --- yt_dlp/extractor/adn.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'yt_dlp/extractor/adn.py') 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 -- cgit v1.2.3