hello,
I would like some help to retrieve the decryption key from the mpd file with python.
here is the python code:
results :Code:import requests,json api_url = "https://www.6play.fr/les-traitres-p_22423/emission-3-c_12960554" license_url = "https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true" pssh = "AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQwoBRb5i2j0hoQgd4vqegExoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lZMnhwY0Y4eE1qazJNRFUxTkNKOTIHZGVmYXVsdA==" headers = { 'Accept': '*/*', 'Accept-Language': 'fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7', 'Connection': 'keep-alive', 'Origin': 'https://www.6play.fr', 'Referer': 'https://www.6play.fr/', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'cross-site', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36', 'sec-ch-ua': '"Chromium";v="104", " Not A;Brand";v="99", "Google Chrome";v="104"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows"', 'x-dt-auth-token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJvcHREYXRhIjoie1widXNlcklkXCI6XCI0OGIyNTdlMGM5NTg0NWRjYThkMmFlYzc5YmJjMTJlM1wiLFwibWVyY2hhbnRcIjpcIm02XCIsXCJzZXNzaW9uSWRcIjpcIm02cmVwbGF5XCJ9IiwiY3J0IjoiW3tcImFjY291bnRpbmdJZFwiOlwiXCIsXCJhc3NldElkXCI6XCJjbGlwXzEyOTYwNTU0XCIsXCJwcm9maWxlXCI6e1wicHVyY2hhc2VcIjp7fX0sXCJvdXRwdXRQcm90ZWN0aW9uXCI6e1wiZGlnaXRhbFwiOmZhbHNlLFwiYW5hbG9ndWVcIjpmYWxzZSxcImVuZm9yY2VcIjpmYWxzZX0sXCJvcFwiOntcImNvbmZpZ1wiOntcIkhEXCI6e1wiUGxheVJlYWR5XCI6e1wibWluU0xcIjoyMDAwLFwiYW5hbG9nVmlkZW9PUExcIjoyMDAsXCJjb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6NTAwLFwidW5jb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6MjUwfSxcIldpZGV2aW5lTVwiOntcIm1pblNMXCI6MSxcInJlcXVpcmVIRENQXCI6XCJIRENQX05PTkVcIn19LFwiU0RcIjp7XCJQbGF5UmVhZHlcIjp7XCJtaW5TTFwiOjIwMDAsXCJhbmFsb2dWaWRlb09QTFwiOjIwMCxcImNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjo1MDAsXCJ1bmNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjoyNTB9LFwiV2lkZXZpbmVNXCI6e1wibWluU0xcIjoxLFwicmVxdWlyZUhEQ1BcIjpcIkhEQ1BfTk9ORVwifX0sXCJWSURFT19BVURJT1wiOntcIlBsYXlSZWFkeVwiOntcIm1pblNMXCI6MjAwMCxcImFuYWxvZ1ZpZGVvT1BMXCI6MjAwLFwiY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjUwMCxcInVuY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjI1MH0sXCJXaWRldmluZU1cIjp7XCJtaW5TTFwiOjEsXCJyZXF1aXJlSERDUFwiOlwiSERDUF9OT05FXCJ9fX19fV0iLCJpYXQiOjE2NjE2NzUxMjIsImp0aSI6ImZ1Y1ZrNVVKclVqam5EeHltclVhTUE9PSJ9.zWNe51cPkkZtJOxt3loJlTvfwKV-jB4hev0YYUyZwfTb2tRtV5eAlgqNnjIovAenQ9BR9Mf4KjW07rgv8pz4hw', 'Content-Type': 'application/x-www-form-urlencoded'} data = '\b' r = requests.post(api_url, headers=headers, data=data, json={"license":license_url,"pssh":pssh}).text print(r) pause()
Can you help me get decryption key from pssh code? thank you in advanceHTML Code:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>ERROR: The request could not be satisfied</TITLE> </HEAD><BODY> <H1>403 ERROR</H1> <H2>The request could not be satisfied.</H2> <HR noshade size="1px"> This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. <BR clear="all"> If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. <BR clear="all"> <HR noshade size="1px"> <PRE> Generated by cloudfront (CloudFront) Request ID: XW-MWTJLMP4cLHOsneyz1Yrt9hcFAbh7jt7d8ExJ1j3wyP18UZBP2A== </PRE> <ADDRESS> </ADDRESS> </BODY></HTML> Traceback (most recent call last): File "C:\Users\N\Desktop\Headers1.py", line 23, in <module> pause() NameError: name 'pause' is not defined. Did you mean: 'False'?
Support our site by donate $5 directly to us Thanks!!!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
+ Reply to Thread
Results 1 to 30 of 72
-
-
hello cedric8528,
thank you in advance for giving the key.
can you how did you get the video key? thank you in advance -
Hello,
thank you for giving the WKS-KEYS program.
I copied the headers in python:
import requests
headers = {
'Accept': '*/*',
'Accept-Language': 'fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7',
'Connection': 'keep-alive',
'Origin': 'https://www.6play.fr',
'Referer': 'https://www.6play.fr/',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'cross-site',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36',
'sec-ch-ua': '"Chromium";v="104", " Not A;Brand";v="99", "Google Chrome";v="104"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'x-dt-auth-token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJvcHREYXRh Ijoie1widXNlcklkXCI6XCI0OGIyNTdlMGM5NTg0NWRjYThkMm FlYzc5YmJjMTJlM1wiLFwibWVyY2hhbnRcIjpcIm02XCIsXCJz ZXNzaW9uSWRcIjpcIm02cmVwbGF5XCJ9IiwiY3J0IjoiW3tcIm FjY291bnRpbmdJZFwiOlwiXCIsXCJhc3NldElkXCI6XCJjbGlw XzEyOTYwNTU0XCIsXCJwcm9maWxlXCI6e1wicHVyY2hhc2VcIj p7fX0sXCJvdXRwdXRQcm90ZWN0aW9uXCI6e1wiZGlnaXRhbFwi OmZhbHNlLFwiYW5hbG9ndWVcIjpmYWxzZSxcImVuZm9yY2VcIj pmYWxzZX0sXCJvcFwiOntcImNvbmZpZ1wiOntcIkhEXCI6e1wi UGxheVJlYWR5XCI6e1wibWluU0xcIjoyMDAwLFwiYW5hbG9nVm lkZW9PUExcIjoyMDAsXCJjb21wcmVzc2VkRGlnaXRhbFZpZGVv T1BMXCI6NTAwLFwidW5jb21wcmVzc2VkRGlnaXRhbFZpZGVvT1 BMXCI6MjUwfSxcIldpZGV2aW5lTVwiOntcIm1pblNMXCI6MSxc InJlcXVpcmVIRENQXCI6XCJIRENQX05PTkVcIn19LFwiU0RcIj p7XCJQbGF5UmVhZHlcIjp7XCJtaW5TTFwiOjIwMDAsXCJhbmFs b2dWaWRlb09QTFwiOjIwMCxcImNvbXByZXNzZWREaWdpdGFsVm lkZW9PUExcIjo1MDAsXCJ1bmNvbXByZXNzZWREaWdpdGFsVmlk ZW9PUExcIjoyNTB9LFwiV2lkZXZpbmVNXCI6e1wibWluU0xcIj oxLFwicmVxdWlyZUhEQ1BcIjpcIkhEQ1BfTk9ORVwifX0sXCJW SURFT19BVURJT1wiOntcIlBsYXlSZWFkeVwiOntcIm1pblNMXC I6MjAwMCxcImFuYWxvZ1ZpZGVvT1BMXCI6MjAwLFwiY29tcHJl c3NlZERpZ2l0YWxWaWRlb09QTFwiOjUwMCxcInVuY29tcHJlc3 NlZERpZ2l0YWxWaWRlb09QTFwiOjI1MH0sXCJXaWRldmluZU1c Ijp7XCJtaW5TTFwiOjEsXCJyZXF1aXJlSERDUFwiOlwiSERDUF 9OT05FXCJ9fX19fV0iLCJpYXQiOjE2NjE4NDE0MzIsImp0aSI6 ImJrL1FHOFdGWi9NM21TaGJjbVZyNnc9PSJ9.dzJTQ-m19ENMfYanWjrF6Nz19OjQOOyoWcZV4KM1lO6OXytp1fC0OTD8 3sfarYYvabrQK80orUMkxSvtR1TYnQ',
'Content-Type': 'application/x-www-form-urlencoded',
}
by -∞WKS∞-#3982
License URL: https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
Input MPD URL: https://par5-edge-04.cdn.bedrock.tech/m6web/output/4/f/1/4f1899f96a143c9775b846a0b658c...Q&e=1661877114
Traceback (most recent call last):
File "C:\Users\N\Desktop\wks-keys_v3\keys.py", line 32, in <module>
pssh = get_pssh(MDP_URL)
File "C:\Users\N\Desktop\wks-keys_v3\pywidevine\L3\getPSSH.py", line 11, in get_pssh
for t in video_tracks["ContentProtection"]:
KeyError: 'ContentProtection' -
Thank you for answering,
I did what you told me but I still get the same error.
Headers.py
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36',
'x-dt-auth-token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJvcHREYXRh Ijoie1widXNlcklkXCI6XCI0OGIyNTdlMGM5NTg0NWRjYThkMm FlYzc5YmJjMTJlM1wiLFwibWVyY2hhbnRcIjpcIm02XCIsXCJz ZXNzaW9uSWRcIjpcIm02cmVwbGF5XCJ9IiwiY3J0IjoiW3tcIm FjY291bnRpbmdJZFwiOlwiXCIsXCJhc3NldElkXCI6XCJjbGlw XzEyOTYwNTU0XCIsXCJwcm9maWxlXCI6e1wicHVyY2hhc2VcIj p7fX0sXCJvdXRwdXRQcm90ZWN0aW9uXCI6e1wiZGlnaXRhbFwi OmZhbHNlLFwiYW5hbG9ndWVcIjpmYWxzZSxcImVuZm9yY2VcIj pmYWxzZX0sXCJvcFwiOntcImNvbmZpZ1wiOntcIkhEXCI6e1wi UGxheVJlYWR5XCI6e1wibWluU0xcIjoyMDAwLFwiYW5hbG9nVm lkZW9PUExcIjoyMDAsXCJjb21wcmVzc2VkRGlnaXRhbFZpZGVv T1BMXCI6NTAwLFwidW5jb21wcmVzc2VkRGlnaXRhbFZpZGVvT1 BMXCI6MjUwfSxcIldpZGV2aW5lTVwiOntcIm1pblNMXCI6MSxc InJlcXVpcmVIRENQXCI6XCJIRENQX05PTkVcIn19LFwiU0RcIj p7XCJQbGF5UmVhZHlcIjp7XCJtaW5TTFwiOjIwMDAsXCJhbmFs b2dWaWRlb09QTFwiOjIwMCxcImNvbXByZXNzZWREaWdpdGFsVm lkZW9PUExcIjo1MDAsXCJ1bmNvbXByZXNzZWREaWdpdGFsVmlk ZW9PUExcIjoyNTB9LFwiV2lkZXZpbmVNXCI6e1wibWluU0xcIj oxLFwicmVxdWlyZUhEQ1BcIjpcIkhEQ1BfTk9ORVwifX0sXCJW SURFT19BVURJT1wiOntcIlBsYXlSZWFkeVwiOntcIm1pblNMXC I6MjAwMCxcImFuYWxvZ1ZpZGVvT1BMXCI6MjAwLFwiY29tcHJl c3NlZERpZ2l0YWxWaWRlb09QTFwiOjUwMCxcInVuY29tcHJlc3 NlZERpZ2l0YWxWaWRlb09QTFwiOjI1MH0sXCJXaWRldmluZU1c Ijp7XCJtaW5TTFwiOjEsXCJyZXF1aXJlSERDUFwiOlwiSERDUF 9OT05FXCJ9fX19fV0iLCJpYXQiOjE2NjE4NDE0MzIsImp0aSI6 IkJPS2NhVWl1eTZPVFUxYzcvbkdjT1E9PSJ9.jGMputpRHWSDi IV6r0lnSQstyH3CMUpw_5ddLs10Z2dKDK8ddRAF62unG1RK4kU eoOaDhZMYgiAIIyZUTdCQsw',
}
by -∞WKS∞-#3982
License URL: https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
Input MPD URL: https://par5-edge-04.cdn.bedrock.tech/m6web/output/4/f/1/4f1899f96a143c9775b846a0b658c...Q&e=1661877114
Traceback (most recent call last):
File "C:\Users\N\Desktop\wks-keys_v3\keys.py", line 32, in <module>
pssh = get_pssh(MDP_URL)
File "C:\Users\N\Desktop\wks-keys_v3\pywidevine\L3\getPSSH.py", line 11, in get_pssh
for t in video_tracks['ContentProtection']:
KeyError: 'ContentProtection' -
I fixed the error with get_pssh(MDP_URL):
Code:# -*- coding: utf-8 -*- # Module: KEYS-L3 # Created on: 29-03-2022 # Authors: -∞WKS∞- # Version: 1.1.0 import base64, requests, sys, xmltodict from getPSSH import get_pssh import os import json import subprocess import argparse import sys import pyfiglet from rich import print from typing import DefaultDict from pathlib import Path from pywidevine.L3.cdm import cdm, deviceconfig from base64 import b64encode from pywidevine.L3.decrypt.wvdecryptcustom import WvDecrypt title = pyfiglet.figlet_format('WKS-KEYS v3', font='slant') print(f'[magenta]{title}[/magenta]') print("by -∞WKS∞-#3982") lic_url = input("\nLicense URL: ") MDP_URL = input("\nInput MPD URL: ") responses = [] license_b64 = '' pssh = get_pssh(MDP_URL) print("\nGenerating PSSH:.....") print(f'\nPSSH: {pssh}') header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36', 'x-dt-auth-token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJvcHREYXRhIjoie1widXNlcklkXCI6XCI0OGIyNTdlMGM5NTg0NWRjYThkMmFlYzc5YmJjMTJlM1wiLFwibWVyY2hhbnRcIjpcIm02XCIsXCJzZXNzaW9uSWRcIjpcIm02cmVwbGF5XCJ9IiwiY3J0IjoiW3tcImFjY291bnRpbmdJZFwiOlwiXCIsXCJhc3NldElkXCI6XCJjbGlwXzEyOTYwNTU0XCIsXCJwcm9maWxlXCI6e1wicHVyY2hhc2VcIjp7fX0sXCJvdXRwdXRQcm90ZWN0aW9uXCI6e1wiZGlnaXRhbFwiOmZhbHNlLFwiYW5hbG9ndWVcIjpmYWxzZSxcImVuZm9yY2VcIjpmYWxzZX0sXCJvcFwiOntcImNvbmZpZ1wiOntcIkhEXCI6e1wiUGxheVJlYWR5XCI6e1wibWluU0xcIjoyMDAwLFwiYW5hbG9nVmlkZW9PUExcIjoyMDAsXCJjb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6NTAwLFwidW5jb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6MjUwfSxcIldpZGV2aW5lTVwiOntcIm1pblNMXCI6MSxcInJlcXVpcmVIRENQXCI6XCJIRENQX05PTkVcIn19LFwiU0RcIjp7XCJQbGF5UmVhZHlcIjp7XCJtaW5TTFwiOjIwMDAsXCJhbmFsb2dWaWRlb09QTFwiOjIwMCxcImNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjo1MDAsXCJ1bmNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjoyNTB9LFwiV2lkZXZpbmVNXCI6e1wibWluU0xcIjoxLFwicmVxdWlyZUhEQ1BcIjpcIkhEQ1BfTk9ORVwifX0sXCJWSURFT19BVURJT1wiOntcIlBsYXlSZWFkeVwiOntcIm1pblNMXCI6MjAwMCxcImFuYWxvZ1ZpZGVvT1BMXCI6MjAwLFwiY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjUwMCxcInVuY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjI1MH0sXCJXaWRldmluZU1cIjp7XCJtaW5TTFwiOjEsXCJyZXF1aXJlSERDUFwiOlwiSERDUF9OT05FXCJ9fX19fV0iLCJpYXQiOjE2NjE4NDc0NzIsImp0aSI6Ikl4K2dLeDZDZHZqMnlPT0ozMEtYNlE9PSJ9.dQxzxAYqjuQJ9LPNWWtYr-NxPWiLiVERYgWD123HAFgn64W67uI3GzO1zqUH_rM7yd1XUFkgrf-ADBg2lyC-iQ', } def get_pssh(mpd_url): r = requests.get(url=mpd_url) r.raise_for_status() xml = xmltodict.parse(r.text) mpd = json.loads(json.dumps(xml)) tracks = mpd['MPD']['Period']['AdaptationSet'] for video_tracks in tracks: if video_tracks['@mimeType'] == 'video/mp4': for t in video_tracks['Content Protection']: if t['@schemeIdUri'].lower() == "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed": pssh = t["cenc:pssh"] return pssh def WV_Function(pssh, lic_url, cert_b64=None): wvdecrypt = WvDecrypt(init_data_b64=pssh, cert_data_b64=cert_b64, device=deviceconfig.device_android_generic) widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=header) license_b64 = b64encode(widevine_license.content) wvdecrypt.update_license(license_b64) Correct, keyswvdecrypt = wvdecrypt.start_process() if Correct: return Correct, keyswvdecrypt correct, keys = WV_Function(pssh, lic_url) print() for key in keys: print('--key ' + key) print("\nAll Done .....")
by -∞WKS∞-#3982
License URL: https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
Input MPD URL: https://par5-edge-04.cdn.bedrock.tech/m6web/output/4/f/1/4f1899f96a143c9775b846a0b658c...A&e=1661883198
Unable to find PSSH in mpd. Edit getPSSH.py or enter PSSH manually: AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQwo BRb5i2j0hoQgd4vqegExoIY2FzdGxhYnMiJGV5SmhjM05sZEVs a0lqb2lZMnhwY0Y4eE1qazJNRFUxTkNKOTIHZGVmYXVsdA==
Generating PSSH:.....
PSSH:
AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQwo BRb5i2j0hoQgd4vqegExoIY2FzdGxhYnMiJGV5SmhjM05sZEVs a0lqb2lZMnhwY0Y4eE1q
azJNRFUxTkNKOTIHZGVmYXVsdA==
no client ID blob available for this device
Traceback (most recent call last):
File "C:\Users\N\Desktop\wks-keys_v3\keys.py", line 62, in <module>
correct, keys = WV_Function(pssh, lic_url)
File "C:\Users\N\Desktop\wks-keys_v3\keys.py", line 56, in WV_Function
widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=header)
File "C:\Python310\lib\site-packages\requests\api.py", line 115, in post
return request("post", url, data=data, json=json, **kwargs)
File "C:\Python310\lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python310\lib\site-packages\requests\sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python310\lib\site-packages\requests\sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
File "C:\Python310\lib\site-packages\requests\adapters.py", line 523, in send
for i in request.body:
TypeError: 'int' object is not iterable -
the video link: https://www.6play.fr/les-traitres-p_22423/emission-3-c_12960554
-
look at my headers
[Attachment 66503 - Click to enlarge]
Only x-dt-auth-token value
Put your own L3 CDM in WKS-KEYS....
Try also the original script
https://github.com/SASUKE-DUCK/WKS-KEY/releases/tag/WKS-KEYLast edited by cedric8528; 30th Aug 2022 at 10:09.
-
What's the solution.
[Attachment 66504 - Click to enlarge] -
@Bader
Wrong PSSH or Wrong Headers
Some sites need special scripts to deliver keys -
6play no need a special script. simply l3 work fine
and on headers, need only auth-token
are you using the right pssh?
Code:AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQwoBRb5i2j0hoQgd4vqegExoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lZMnhwY0Y4eE1qazJNRFUxTkNKOTIHZGVmYXVsdA==
-
Hello,
I come to test the code you gave me but it shows me response 400.
Code:import requests, os headers = { 'x-dt-auth-token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJvcHREYXRhIjoie1widXNlcklkXCI6XCI0OGIyNTdlMGM5NTg0NWRjYThkMmFlYzc5YmJjMTJlM1wiLFwibWVyY2hhbnRcIjpcIm02XCIsXCJzZXNzaW9uSWRcIjpcIm02cmVwbGF5XCJ9IiwiY3J0IjoiW3tcImFjY291bnRpbmdJZFwiOlwiXCIsXCJhc3NldElkXCI6XCJjbGlwXzEyOTYwNTU0XCIsXCJwcm9maWxlXCI6e1wicHVyY2hhc2VcIjp7fX0sXCJvdXRwdXRQcm90ZWN0aW9uXCI6e1wiZGlnaXRhbFwiOmZhbHNlLFwiYW5hbG9ndWVcIjpmYWxzZSxcImVuZm9yY2VcIjpmYWxzZX0sXCJvcFwiOntcImNvbmZpZ1wiOntcIkhEXCI6e1wiUGxheVJlYWR5XCI6e1wibWluU0xcIjoyMDAwLFwiYW5hbG9nVmlkZW9PUExcIjoyMDAsXCJjb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6NTAwLFwidW5jb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6MjUwfSxcIldpZGV2aW5lTVwiOntcIm1pblNMXCI6MSxcInJlcXVpcmVIRENQXCI6XCJIRENQX05PTkVcIn19LFwiU0RcIjp7XCJQbGF5UmVhZHlcIjp7XCJtaW5TTFwiOjIwMDAsXCJhbmFsb2dWaWRlb09QTFwiOjIwMCxcImNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjo1MDAsXCJ1bmNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjoyNTB9LFwiV2lkZXZpbmVNXCI6e1wibWluU0xcIjoxLFwicmVxdWlyZUhEQ1BcIjpcIkhEQ1BfTk9ORVwifX0sXCJWSURFT19BVURJT1wiOntcIlBsYXlSZWFkeVwiOntcIm1pblNMXCI6MjAwMCxcImFuYWxvZ1ZpZGVvT1BMXCI6MjAwLFwiY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjUwMCxcInVuY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjI1MH0sXCJXaWRldmluZU1cIjp7XCJtaW5TTFwiOjEsXCJyZXF1aXJlSERDUFwiOlwiSERDUF9OT05FXCJ9fX19fV0iLCJpYXQiOjE2NjE5MzI5NzgsImp0aSI6IlBheTBPUlJOUXlwb3Nhc1FHMmZCZkE9PSJ9.LtRMZYOtYk6K0jfyJL0E96TlNOlEJrFOnAY7HF1E3PW6_MqWLsb_EChkkjhlOUj1GQJtCLf7ds0kdDc3rzuBEg', } r = requests.post('https://lic.drmtoday.com/license-proxy-widevine/cenc/', headers=headers) print(r) os.system("pause")
-
I come to find the solutions of the code headers :
Code:import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36', 'x-dt-auth-token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJvcHREYXRhIjoie1widXNlcklkXCI6XCI0OGIyNTdlMGM5NTg0NWRjYThkMmFlYzc5YmJjMTJlM1wiLFwibWVyY2hhbnRcIjpcIm02XCIsXCJzZXNzaW9uSWRcIjpcIm02cmVwbGF5XCJ9IiwiY3J0IjoiW3tcImFjY291bnRpbmdJZFwiOlwiXCIsXCJhc3NldElkXCI6XCJjbGlwXzEyOTYwNTU0XCIsXCJwcm9maWxlXCI6e1wicHVyY2hhc2VcIjp7fX0sXCJvdXRwdXRQcm90ZWN0aW9uXCI6e1wiZGlnaXRhbFwiOmZhbHNlLFwiYW5hbG9ndWVcIjpmYWxzZSxcImVuZm9yY2VcIjpmYWxzZX0sXCJvcFwiOntcImNvbmZpZ1wiOntcIkhEXCI6e1wiUGxheVJlYWR5XCI6e1wibWluU0xcIjoyMDAwLFwiYW5hbG9nVmlkZW9PUExcIjoyMDAsXCJjb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6NTAwLFwidW5jb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6MjUwfSxcIldpZGV2aW5lTVwiOntcIm1pblNMXCI6MSxcInJlcXVpcmVIRENQXCI6XCJIRENQX05PTkVcIn19LFwiU0RcIjp7XCJQbGF5UmVhZHlcIjp7XCJtaW5TTFwiOjIwMDAsXCJhbmFsb2dWaWRlb09QTFwiOjIwMCxcImNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjo1MDAsXCJ1bmNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjoyNTB9LFwiV2lkZXZpbmVNXCI6e1wibWluU0xcIjoxLFwicmVxdWlyZUhEQ1BcIjpcIkhEQ1BfTk9ORVwifX0sXCJWSURFT19BVURJT1wiOntcIlBsYXlSZWFkeVwiOntcIm1pblNMXCI6MjAwMCxcImFuYWxvZ1ZpZGVvT1BMXCI6MjAwLFwiY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjUwMCxcInVuY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjI1MH0sXCJXaWRldmluZU1cIjp7XCJtaW5TTFwiOjEsXCJyZXF1aXJlSERDUFwiOlwiSERDUF9OT05FXCJ9fX19fV0iLCJpYXQiOjE2NjE5MzI5NzgsImp0aSI6IlBheTBPUlJOUXlwb3Nhc1FHMmZCZkE9PSJ9.LtRMZYOtYk6K0jfyJL0E96TlNOlEJrFOnAY7HF1E3PW6_MqWLsb_EChkkjhlOUj1GQJtCLf7ds0kdDc3rzuBEg', } params = { 'x-dt-auth-token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJvcHREYXRhIjoie1widXNlcklkXCI6XCI0OGIyNTdlMGM5NTg0NWRjYThkMmFlYzc5YmJjMTJlM1wiLFwibWVyY2hhbnRcIjpcIm02XCIsXCJzZXNzaW9uSWRcIjpcIm02cmVwbGF5XCJ9IiwiY3J0IjoiW3tcImFjY291bnRpbmdJZFwiOlwiXCIsXCJhc3NldElkXCI6XCJjbGlwXzEyOTYwNTU0XCIsXCJwcm9maWxlXCI6e1wicHVyY2hhc2VcIjp7fX0sXCJvdXRwdXRQcm90ZWN0aW9uXCI6e1wiZGlnaXRhbFwiOmZhbHNlLFwiYW5hbG9ndWVcIjpmYWxzZSxcImVuZm9yY2VcIjpmYWxzZX0sXCJvcFwiOntcImNvbmZpZ1wiOntcIkhEXCI6e1wiUGxheVJlYWR5XCI6e1wibWluU0xcIjoyMDAwLFwiYW5hbG9nVmlkZW9PUExcIjoyMDAsXCJjb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6NTAwLFwidW5jb21wcmVzc2VkRGlnaXRhbFZpZGVvT1BMXCI6MjUwfSxcIldpZGV2aW5lTVwiOntcIm1pblNMXCI6MSxcInJlcXVpcmVIRENQXCI6XCJIRENQX05PTkVcIn19LFwiU0RcIjp7XCJQbGF5UmVhZHlcIjp7XCJtaW5TTFwiOjIwMDAsXCJhbmFsb2dWaWRlb09QTFwiOjIwMCxcImNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjo1MDAsXCJ1bmNvbXByZXNzZWREaWdpdGFsVmlkZW9PUExcIjoyNTB9LFwiV2lkZXZpbmVNXCI6e1wibWluU0xcIjoxLFwicmVxdWlyZUhEQ1BcIjpcIkhEQ1BfTk9ORVwifX0sXCJWSURFT19BVURJT1wiOntcIlBsYXlSZWFkeVwiOntcIm1pblNMXCI6MjAwMCxcImFuYWxvZ1ZpZGVvT1BMXCI6MjAwLFwiY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjUwMCxcInVuY29tcHJlc3NlZERpZ2l0YWxWaWRlb09QTFwiOjI1MH0sXCJXaWRldmluZU1cIjp7XCJtaW5TTFwiOjEsXCJyZXF1aXJlSERDUFwiOlwiSERDUF9OT05FXCJ9fX19fV0iLCJpYXQiOjE2NjE5MzI5NzgsImp0aSI6IlBheTBPUlJOUXlwb3Nhc1FHMmZCZkE9PSJ9.LtRMZYOtYk6K0jfyJL0E96TlNOlEJrFOnAY7HF1E3PW6_MqWLsb_EChkkjhlOUj1GQJtCLf7ds0kdDc3rzuBEg', } data = '\b' r = requests.post('https://lic.drmtoday.com/license-proxy-widevine/cenc/', params=params, headers=headers, data=data)
Traceback (most recent call last):
File "C:\Users\N\Desktop\WKS-KEYS\l1.py", line 9, in <module>
from pywidevine.L1.cdm import cdm, deviceconfig
File "C:\Users\N\Desktop\WKS-KEYS\pywidevine\L1\cdm\cdm.py", line 10, in <module>
from pywidevine.L1.cdm.formats import wv_proto2_pb2 as wv_proto2
File "C:\Users\N\Desktop\WKS-KEYS\pywidevine\L1\cdm\formats\wv_proto2_pb2.py", line 33, in <module>
_descriptor.EnumValueDescriptor(
File "C:\Python310\lib\site-packages\google\protobuf\descriptor.py", line 755, in __new__
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
how can this error be corrected? thank you in advance -
-
I just found the solution to my problem:
Code:pip install protobuf==3.20.*
PSSH: AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQwo BRb5i2j0hoQgd4vqegExoIY2FzdGxhYnMiJGV5SmhjM05sZEVs a0lqb2lZMnhwY0Y4eE1qazJNRFUxTkNKOTIHZGVmYXVsdA==
License URL: https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
no client ID blob available for this device
Traceback (most recent call last):
File "C:\Users\Nathalie\Desktop\WKS-KEYS\l1.py", line 25, in <module>
correct, keys = WV_Function(pssh, lic_url)
File "C:\Users\Nathalie\Desktop\WKS-KEYS\l1.py", line 19, in WV_Function
widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=headers.headers)
File "C:\Python310\lib\site-packages\requests\api.py", line 115, in post
return request("post", url, data=data, json=json, **kwargs)
File "C:\Python310\lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python310\lib\site-packages\requests\sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python310\lib\site-packages\requests\sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
File "C:\Python310\lib\site-packages\requests\adapters.py", line 523, in send
for i in request.body:
TypeError: 'int' object is not iterable -
same error:
PSSH: AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQwo BRb5i2j0hoQgd4vqegExoIY2FzdGxhYnMiJGV5SmhjM05sZEVs a0lqb2lZMnhwY0Y4eE1qazJNRFUxTkNKOTIHZGVmYXVsdA==
License URL: https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
C:\Users\N\Desktop\WKS-KEYS\pywidevine\L3\cdm\cdm.py:260: RuntimeWarning: Unexpected end-group tag: Not all data was converted
license.ParseFromString(base64.b64decode(license_b 64))
Traceback (most recent call last):
File "C:\Users\N\Desktop\WKS-KEYS\l3.py", line 25, in <module>
correct, keys = WV_Function(pssh, lic_url)
File "C:\Users\Nathalie\Desktop\WKS-KEYS\l3.py", line 21, in WV_Function
wvdecrypt.update_license(license_b64)
File "C:\Users\N\Desktop\WKS-KEYS\pywidevine\L3\decrypt\wvdecryptcustom.py", line 58, in update_license
self.cdm.provide_license(self.session, license_b64)
File "C:\Users\N\Desktop\WKS-KEYS\pywidevine\L3\cdm\cdm.py", line 275, in provide_license
session.session_key = oaep_cipher.decrypt(license.SessionKey)
File "C:\Python310\lib\site-packages\Cryptodome\Cipher\PKCS1_OAEP.py", line 167, in decrypt
raise ValueError("Ciphertext with incorrect length.")
ValueError: Ciphertext with incorrect length. -
-
I don't understand what you mean by this
[Attachment 66518 - Click to enlarge] -
-
-
Similar Threads
-
I don't get key with wks-key.
By Brift_Bv in forum Video Streaming DownloadingReplies: 34Last Post: 18th Nov 2023, 03:35 -
Key help
By jhynpls in forum Video Streaming DownloadingReplies: 10Last Post: 19th Oct 2023, 15:34 -
how i know the right key ?
By ahmedani in forum Video Streaming DownloadingReplies: 2Last Post: 19th Aug 2022, 04:53 -
help to get key
By lomero in forum Video Streaming DownloadingReplies: 4Last Post: 7th Jul 2021, 12:59