no worries, glad you got it working
thought id help someone else out after being helped out earlier by [SS]Vegeta
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!
Closed Thread
Results 1,501 to 1,530 of 1969
-
Thanks to the advice from the great folks in this thread and others on these forums, I've been able to to dump my keys and decrypted several Widevine-protected videos. But I've run into an issue with a particular streamer (which I won't name here; in any case the MPDs, license, etc. are no longer valid). The MPD, PSSH, and license header/URL are trivially easy to get, and I can download all of the available streams with yt-dlp. The PSSH even appears to be stored as plaintext in the MPD; it's a bit long, but I'm not sure how to trim it, and in any case widevine_keys is able to extract keys with it:
Code:AAAAwnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAKISEIfuCbtqv07NqxtSyZ3aMv0SENpAUV5VCkd2io6jUcoaY0gSEK6UhAsAx033p7jsTjwwqdQSEDfdndR0MktxiLLibLtCY6QSENqUEi7JP074r2RSZe/Viv8SECrYxSJGwECWmKHpYooKA88SEOhotChw/kQVqm1MCGnrSKUSEH7YyXCIN03NgUJu9QbSLqMiEOgAGTQxikN6hcvoXmLd+NQ=
Code:37dd9dd474324b7188b2e26cbb4263a4:3944869793ae18f38d110f7175b53b56 - 560p video da94122ec93f4ef8af645265efd58aff:5681aef1680ced0e0c0efac1c8c710b6 - 432p video 2ad8c52246c0409698a1e9628a0a03cf:d25da247f52159e7e8c8c404501473a7 - low-bitrate 432p video e868b42870fe4415aa6d4c0869eb48a5:d392c3533facd5ffecf80667f1a9bce2 - audio 7ed8c97088374dcd81426ef506d22ea3:ff5d07b52a9dd1c7dfa7db499fcc3ed0 - 360p video
Code:<AdaptationSet width="960" height="540" frameRate="12288/512" id="5" segmentAlignment="true" par="16:9" contentType="video"> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" xmlns:cenc="urn:mpeg:cenc:2013" cenc:default_KID="37dd9dd4-7432-4b71-88b2-e26cbb4263a4" value="cenc"></ContentProtection> <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" xmlns:cenc="urn:mpeg:cenc:2013"> <cenc:pssh>AAAAwnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAKISEIfuCbtqv07NqxtSyZ3aMv0SENpAUV5VCkd2io6jUcoaY0gSEK6UhAsAx033p7jsTjwwqdQSEDfdndR0MktxiLLibLtCY6QSENqUEi7JP074r2RSZe/Viv8SECrYxSJGwECWmKHpYooKA88SEOhotChw/kQVqm1MCGnrSKUSEH7YyXCIN03NgUJu9QbSLqMiEOgAGTQxikN6hcvoXmLd+NQ=</cenc:pssh> </ContentProtection> <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready"> <mspr:pro>xAEAAAEAAQC6ATwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AMQBKADMAZABOAHoASgAwAGMAVQB1AEkAcwB1AEoAcwB1ADAASgBqAHAAQQA9AD0APAAvAEsASQBEAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro> <cenc:pssh>AAAB5HBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAcTEAQAAAQABALoBPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgAxAEoAMwBkAE4AegBKADAAYwBVAHUASQBzAHUASgBzAHUAMABKAGoAcABBAD0APQA8AC8ASwBJAEQAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> </ContentProtection> <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="1,2,3,4,6,7"></SupplementalProperty> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role> <Representation sar="1:1" mimeType="video/mp4" bandwidth="5051056" codecs="avc1.4d401f" id="v5"> <BaseURL>https://[snip]/live/</BaseURL> <SegmentTemplate presentationTimeOffset="258" initialization="540_main_2000_video/s_init.mp4" media="540_main_2000_video/s_$Number$.m4s" startNumber="1" timescale="12288"> <SegmentTimeline> <S t="258" d="24576" r="2942"></S> <S t="72327426" d="23040"></S> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet>
Code:<AdaptationSet width="1920" height="1080" frameRate="12288/512" id="2" segmentAlignment="true" par="16:9" contentType="video"> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" xmlns:cenc="urn:mpeg:cenc:2013" cenc:default_KID="87ee09bb-6abf-4ecd-ab1b-52c99dda32fd" value="cenc"></ContentProtection> <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed" xmlns:cenc="urn:mpeg:cenc:2013"> <cenc:pssh>AAAAwnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAKISEIfuCbtqv07NqxtSyZ3aMv0SENpAUV5VCkd2io6jUcoaY0gSEK6UhAsAx033p7jsTjwwqdQSEDfdndR0MktxiLLibLtCY6QSENqUEi7JP074r2RSZe/Viv8SECrYxSJGwECWmKHpYooKA88SEOhotChw/kQVqm1MCGnrSKUSEH7YyXCIN03NgUJu9QbSLqMiEOgAGTQxikN6hcvoXmLd+NQ=</cenc:pssh> </ContentProtection> <ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mspr="urn:microsoft:playready"> <mspr:pro>xAEAAAEAAQC6ATwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AdQB3AG4AdQBoADcAOQBxAHoAVQA2AHIARwAxAEwASgBuAGQAbwB5AC8AUQA9AD0APAAvAEsASQBEAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA=</mspr:pro> <cenc:pssh>AAAB5HBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAAcTEAQAAAQABALoBPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB1AHcAbgB1AGgANwA5AHEAegBVADYAcgBHADEATABKAG4AZABvAHkALwBRAD0APQA8AC8ASwBJAEQAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==</cenc:pssh> </ContentProtection> <SupplementalProperty schemeIdUri="urn:mpeg:dash:adaptation-set-switching:2016" value="1,3,4,5,6,7"></SupplementalProperty> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role> <Representation sar="1:1" mimeType="video/mp4" bandwidth="12981740" codecs="avc1.640028" id="v2"> <BaseURL>https://[snip]/live/</BaseURL> <SegmentTemplate presentationTimeOffset="258" initialization="1080_high_6000_video/s_init.mp4" media="1080_high_6000_video/s_$Number$.m4s" startNumber="1" timescale="12288"> <SegmentTimeline> <S t="258" d="24576" r="2942"></S> <S t="72327426" d="23040"></S> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet>
Please PM me if there's additional information that might help—I'm trying to avoid posting anything that would identify the source.
EDIT: I don't think this is an L1 issue since I can watch the HD streams on my computer, which I'm pretty certain isn't L1-compatible. I also don't think PlayReady is being used since I have it disabled.
EDIT AGAIN: On closer inspection I'm not actually able to stream the HD versions. I assume they require Widevine L1 so I'm stuck with 540p. Oh well.Last edited by Dan Average; 23rd Jan 2022 at 21:08.
-
I finally managed to get the CDMs (from the phone), but I now just need the scripts. Could anyone kindly help me with working Python scripts for downloading Netflix, Amazon prime and Disney plus. You can remove the cdms, as I have mine. You can kindly send me in PM or even here. Please.
-
looks to be similar to others.
pssh via eme logger and the mpd/key server via browser developer tools.
the problem im having with it is that the PSSH is 940 characters long and it doesnt look like WKS can take that length.
theres no kid in the mpd either.
Code:Traceback (most recent call last): File "l3.py", line 25, in <module> correct, keys = WV_Function(pssh, lic_url) File "l3.py", line 18, in WV_Function wvdecrypt = WvDecrypt(init_data_b64=pssh, cert_data_b64=cert_b64, device=deviceconfig.device_android_generic) File "/home/user/WKS-KEYS/pywidevine/L3/decrypt/wvdecryptcustom.py", line 33, in __init__ self.session = self.cdm.open_session(check_pssh(self.init_data_b64), deviceconfig.DeviceConfig(self.device)) File "/home/user/WKS-KEYS/pywidevine/L3/decrypt/wvdecryptcustom.py", line 22, in check_pssh new_pssh.append(32 + len(pssh)) ValueError: byte must be in range(0, 256)
I ended up grabbing the widevine KID from the init.mp4 file and it decrypted successfully.Last edited by ElCap; 21st Jan 2022 at 01:30. Reason: update
-
Can somebody help , seems I cant extract keys
https://lic.drmtoday.com/license-proxy-widevine/cenc/ not working also I used https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
but still no effect .
AAAAYXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEEIARIQmU x5r4Y4OBCefzUDvNKv+RoIY2FzdGxhYnMiGG1VeDVyNFk0T0JD ZWZ6VUR2Tkt2K1E9PTIHZGVmYXVsdA==
curl 'https://lic.drmtoday.com/license-proxy-widevine/cenc/' \
-H 'Connection: keep-alive' \
-H 'Pragma: no-cache' \
-H 'Cache-Control: no-cache' \
-H 'sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="97", "Chromium";v="97"' \
-H 'dt-custom-data: eyJ1c2VySWQiOiI4MTM2NDY1Iiwic2Vzc2lvbklkIjoiaktZSn ljWW9XOWh0bG5Qc3BiVTNBa3dQS1BmMVJrSVF1ZEp6UUNkOG1m QS4iLCJtZXJjaGFudCI6ImF2aWlvbjIifQ==' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36' \
-H 'sec-ch-ua-platform: "Windows"' \
-H 'Accept: */*' \
-H 'Origin: https://hrti.hrt.hr' \
-H 'Sec-Fetch-Site: cross-site' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Referer: https://hrti.hrt.hr/' \
-H 'Accept-Language: hr-HR,hr;q=0.9,en-US;q=0.8,en;q=0.7' \
-
I have a doubt, Please, What can the BUILDINFO part in getwvkeys.herokuapp be used for?
[Attachment 63033 - Click to enlarge]
-
There is no mention of registering the CDM on the website?
PSSH:
LICENSE:
HEADERS
BUILDINFO: ??????????
JS FETCH REQUEST ??????????????????
For a CDM I'm trying to get mine from my old Samsung but I can't find it yet.
-
Notaghost has changed something in his site, its not sending the headers supplied in the form.
Below are the headers currently being sent in each license request, his site makes two requests, first request is for a service certificate, and the second is for the actual license. The headers are the same in both requests.
I put different headers into the form and still nothing was changed when his server made a request to my dummy license server, where I could see the headers and payload.
POST / HTTP/1.1
Host: [removed]
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Accept-Encoding: gzip, deflate
Accept: application/json, text/plain, */*
Connection: close
Dnt: 1
Content-Type: application/json
Origin: http://getwvkeys.herokuapp.com
Referer: http://getwvkeys.herokuapp.com/
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
X-Request-Id: [removed]
X-Forwarded-For: [removed]
X-Forwarded-Proto: http
X-Forwarded-Port: 80
Via: 1.1 vegur
Connect-Time: 0
X-Request-Start: 1642804351169
Total-Route-Time: 0
Content-Length: 2395
-
Thank you for the help!
I ran this code in my Command Prompt
curl http://getwvkeys.herokuapp.com/api -d "{\"license\": \"https://wv.service.expressplay.com/hms/wv/rights/?ExpressPlayToken=BQAiqQLiKdMAJGVhMWI4MzIyLTE0NGYt NGI5My1hYzRmLTE0NDg1YjEzOTE5YQAAAGCjOVhrKGbRexDkev oVHxusAp0tmHoXAjXZ2LUk4_hOTZtI-ofjg7s7l3wu4RhIwErKmHWADgCzs1aXB2kawFrL5ewj0RdNy8F Bg98jsfuFvn9tjvJ-UGHzkXQwh7pHYMFMAZCj67C1GVCNTj1t9EXIojRiAg\",\"pss h\":\"AAAANHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABQI ARIQvy6Ye3m0ARa/rwUo4f72zA==\"}" -H 'Referer:http://getwvkeys.herokuapp.com'
{"Error": "Error 404:<br>{\"error\":{\"code\":-7008,\"message\":\"[-7008] Failed to generate Widevine license\"}}"}
Thanks again!
-
I'm setting up a server similar to getwvkeys using a CDM from my old phone, its a work in progress at the moment so very basic functionality - no option to add headers yet but that will come later when I have some more time.
I'm not posting the URL out in the open, as I don't want it abused with hundreds of invalid requests - I just need a small number of people to test at this stage, please send me a PM and I'll give you a URL along with an API key.
[Attachment 63035 - Click to enlarge]
Similar Threads
-
Strip Playready and Widevine DRM
By freaknik in forum Video Streaming DownloadingReplies: 5Last Post: 22nd Jun 2024, 15:20 -
Decoding manifest.mpd (Widevine)
By WaitForIt in forum Video Streaming DownloadingReplies: 6Last Post: 7th Jun 2021, 13:44 -
getting widevine CEK key
By netbreak in forum Video Streaming DownloadingReplies: 1Last Post: 19th Feb 2018, 12:03 -
Looking for anyone with Google Widevine knowledge.
By cookeri6 in forum Newbie / General discussionsReplies: 1Last Post: 15th May 2017, 13:33 -
Looking for anyone with Google Widevine knowledge.
By cookeri6 in forum Video Streaming DownloadingReplies: 0Last Post: 15th May 2017, 12:45