mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[utils] Move codes for handling eval() from iqiyi.py
This commit is contained in:
		| @@ -18,7 +18,7 @@ from ..compat import ( | ||||
|     compat_urllib_parse_urlparse, | ||||
| ) | ||||
| from ..utils import ( | ||||
|     base_n, | ||||
|     decode_packed_codes, | ||||
|     ExtractorError, | ||||
|     ohdave_rsa_encrypt, | ||||
|     remove_start, | ||||
| @@ -130,28 +130,8 @@ class IqiyiSDKInterpreter(object): | ||||
|     def __init__(self, sdk_code): | ||||
|         self.sdk_code = sdk_code | ||||
|  | ||||
|     def decode_eval_codes(self): | ||||
|         self.sdk_code = self.sdk_code[5:-3] | ||||
|  | ||||
|         mobj = re.search( | ||||
|             r"'([^']+)',62,(\d+),'([^']+)'\.split\('\|'\),[^,]+,{}", | ||||
|             self.sdk_code) | ||||
|         obfucasted_code, count, symbols = mobj.groups() | ||||
|         count = int(count) | ||||
|         symbols = symbols.split('|') | ||||
|         symbol_table = {} | ||||
|  | ||||
|         while count: | ||||
|             count -= 1 | ||||
|             b62count = base_n(count, 62) | ||||
|             symbol_table[b62count] = symbols[count] or b62count | ||||
|  | ||||
|         self.sdk_code = re.sub( | ||||
|             r'\b(\w+)\b', lambda mobj: symbol_table[mobj.group(0)], | ||||
|             obfucasted_code) | ||||
|  | ||||
|     def run(self, target, ip, timestamp): | ||||
|         self.decode_eval_codes() | ||||
|         self.sdk_code = decode_packed_codes(self.sdk_code) | ||||
|  | ||||
|         functions = re.findall(r'input=([a-zA-Z0-9]+)\(input', self.sdk_code) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
					Yen Chi Hsuan