Hi, I'm stuck trying to download a vdocipher video.
I got the .mpd and entered the PSSH in https://cdrm-project.com/, so I got the keys.
Then I used N_m3u8DL-RE to download the video, specifying the keys and the .mpd url, but the output video is still encrypted.
[Attachment 75480 - Click to enlarge]
I can't see any error being thrown, so what step am I doing wrong?
Thanks in advance.
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 26 of 26
-
-
This is the MPD URL
https://d19m09m173bao6.cloudfront.net/media/lnsSE8VRcoVqs/d4ca59bb/stream.mpd
I can't send you the video URL because it is embedded in a password-protected platform -
no keys from cached...
so no one will help you without link
it need pssh, lic and header to get the keys -
PSSH is AAAAUnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADIiKnZkb2 NpcGhlcjoxMmVkM2E4ZTU2N2Q0NWU1YmVkYTA0ZTRmY2VkMTM0 Mkjj3JWbBg==
License URL I'm using is https://cwip-shaka-proxy.appspot.com/no_auth
By entering those parameters, I get this:
[Attachment 75481 - Click to enlarge]
Aren't these the right keys? -
I know I'm supposed to find the License URL using Dev Tools but I can't find it anywhere in the Payloads nor in the MPD. This is all I've got from the payload:
import requests
headers = {
'sec-ch-ua': '"Microsoft Edge";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
'Referer': 'https://dmf9cnjua2s32.cloudfront.net/',
'DNT': '1',
'sec-ch-ua-mobile': '?0',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0',
'range': 'bytes=4655580-5847570',
'sec-ch-ua-platform': '"Windows"',
}
response = requests.get(
'https://d19m09m173bao6.cloudfront.net/media/lnsSE8VRcoVqs/d4ca59bb/video_1080_ibujo_976.mp4',
headers=headers,
) -
you use mp4 header, well its wrong header.
read sticking threads, there have every thing you looking for -
Finally found the License URL which is: https://license.vdocipher.com/auth/wv/:authToken
But I tried replacing authToken with the token that is being sent along with the auth payload, but I get this error everytime:
Error 403: {"code":2045,"message":"Authentication failed"}
I don't know why, will keep trying tomorrow. -
the token in payload, not in headers. do you find anywhere can paste payload in cdrm-project.com? so far I haven't seen any online sites support json payload+json response at the same time, so I would say you will not success forever. you need local script written by yourself or provide enough information as iamghost said.
-
The token is provided in the license URL, so in this case it would be: https://license.vdocipher.com/auth/wv/:eyJvdHAiOiIyMDE2MDMxM3ZlcnNVU0UzMjNwa3pIRWFxVkV...I6IkNBUT0ifQ==
So the problem is not that I can't send json payload, it must be something else. I will show you all I have in case you see something I don't.
This is the auth payload:
POST /auth HTTP/1.1
host: license.vdocipher.com
accept-encoding: deflate, gzip
authority: license.vdocipher.com
accept: */*
accept-language: es,es-ES;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
content-type: application/json
dnt: 1
origin: https://dmf9cnjua2s32.cloudfront.net
referer: https://dmf9cnjua2s32.cloudfront.net/
sec-ch-ua: "Microsoft Edge";v="119", "Chromium";v="119", "Not?A_Brand";v="24"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
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/119.0.0.0 Safari/537.36 Edg/119.0.0.0
vdo-ref: https://player.vdocipher.com/
content-length: 316
{"token":"eyJvdHAiOiIyMDE2MDMxM3ZlcnNVU0UzMjNwa3pI RWFxVkVJUk1MRW1TeGtoNGtTR3FMTXpqa1RUNFRrSDJ2TU9kMT liclI2IiwicGxheWJhY2tJbmZvIjoiZXlKMmFXUmxiMGxrSWpv aVpqRmlaVFJpWkdaa1pXWm1ORGswT1dGbVpHRm1NVGMzWW1ReE 16VmlaRFVpZlE9PSIsImhyZWYiOiJodHRwczovL3RlYW1wbGF0 aW5vLmNvbS8iLCJ0ZWNoIjoid3YiLCJsaWNlbnNlUmVxdWVzdC I6IkNBUT0ifQ=="}
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version v2.3.0-5bf8ad5-release-->
<MPD xmlns="urn:mpeg:dashchema:mpd:2011" xmlns
si="http://www.w3.org/2001/XMLSchema-instance" xsi
chemaLocation="urn:mpeg:dash
chema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash
rofile:isoff-on-demand:2011" minBufferTime="PT2S" type="static" mediaPresentationDuration="PT540.2333374023438S">
<Period id="0">
<AdaptationSet id="0" contentType="audio" lang="en" subsegmentAlignment="true">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="93267499-eaeb-5623-9e81-a96face2f63e"/>
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
<cencssh>AAAAUnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADIiKn Zkb2NpcGhlcjoxMmVkM2E4ZTU2N2Q0NWU1YmVkYTA0ZTRmY2Vk MTM0Mkjj3JWbBg==</cenc
ssh>
</ContentProtection>
<Representation id="0" bandwidth="122000" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="48000">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_c onfiguration:2011" value="2"/>
<BaseURL>audio_0_vysrt_122.mp4</BaseURL>
<SegmentBase indexRange="984-2107" timescale="48000">
<Initialization range="0-983"/>
</SegmentBase>
</Representation>
</AdaptationSet>
<AdaptationSet id="1" contentType="video" maxWidth="1920" maxHeight="1080" frameRate="15360/512" par="16:9">
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="6a83cdce-bcf9-5bc3-baf2-14be89066037"/>
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
<cencssh>AAAAUnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADIiKn Zkb2NpcGhlcjoxMmVkM2E4ZTU2N2Q0NWU1YmVkYTA0ZTRmY2Vk MTM0Mkjj3JWbBg==</cenc
ssh>
</ContentProtection>
<Representation id="1" bandwidth="272000" codecs="avc1.4d4028" mimeType="video/mp4" sar="1:1" width="1280" height="720">
<BaseURL>video_720_rmfwf_272.mp4</BaseURL>
<SegmentBase indexRange="1023-1846" timescale="15360">
<Initialization range="0-1022"/>
</SegmentBase>
</Representation>
<Representation id="2" bandwidth="672000" codecs="avc1.4d4028" mimeType="video/mp4" sar="1:1" width="1920" height="1080">
<BaseURL>video_1080_kxvze_672.mp4</BaseURL>
<SegmentBase indexRange="1024-1847" timescale="15360">
<Initialization range="0-1023"/>
</SegmentBase>
</Representation>
<Representation id="3" bandwidth="976000" codecs="avc1.4d4028" mimeType="video/mp4" sar="1:1" width="1920" height="1080">
<BaseURL>video_1080_ibujo_976.mp4</BaseURL>
<SegmentBase indexRange="1024-1847" timescale="15360">
<Initialization range="0-1023"/>
</SegmentBase>
</Representation>
</AdaptationSet>
</Period>
</MPD>
GET /media/lnsSE8VRcoVqs/d4ca59bb/video_1080_ibujo_976.mp4 HTTP/1.1
Host: d19m09m173bao6.cloudfront.net
Accept: */*
Accept-Encoding: deflate, gzip
sec-ch-ua: "Microsoft Edge";v="119", "Chromium";v="119", "Not?A_Brand";v="24"
Referer: https://dmf9cnjua2s32.cloudfront.net/
DNT: 1
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0
range: bytes=10290432-11299659
sec-ch-ua-platform: "Windows" -
-
-
I don't think the token expires that fast. Yesterday I was trying to get the keys with the same token that I'm getting today. Anyway, I tried what you said, blocking the auth fetch, but what do I do now? It's still throwing a 403 error.
[Attachment 75488 - Click to enlarge]
[Attachment 75489 - Click to enlarge] -
I already blocked the auth fetch and refreshed the page, then tried again to request the keys, but nothing changes. What am I doing wrong?
The auth token is eyJvdHAiOiIyMDE2MDMxM3ZlcnNVU0UzMjNwa3pIRWFxVkVJUk 1MRW1TeGtoNGtTR3FMTXpqa1RUNFRrSDJ2TU9kMTliclI2Iiwi cGxheWJhY2tJbmZvIjoiZXlKMmFXUmxiMGxrSWpvaVpqRmlaVF JpWkdaa1pXWm1ORGswT1dGbVpHRm1NVGMzWW1ReE16VmlaRFVp ZlE9PSIsImhyZWYiOiJodHRwczovL3RlYW1wbGF0aW5vLmNvbS 8iLCJ0ZWNoIjoid3YiLCJsaWNlbnNlUmVxdWVzdCI6IkNBUT0i fQ== -
token alive
Code:--key 1b2e53eeaa97524292dcf9cd27d18bea:97d2f4c4748e0c6041f3a335ec9e5346 --key 6a83cdcebcf95bc3baf214be89066037:bcb3f6bf8b4cd60a0bc87886bbb4dba1 --key 1604bc2c0f455cdbbc48ea9ebb4eef27:9497c7c0cfa21f4630e79edff0f6c977 --key 93267499eaeb56239e81a96face2f63e:433b4a0a1fc99f32ee90c0bc4c41be13
-
Yess thanks! How did you manage to get the keys? Am I getting any of these parameters wrong?
[Attachment 75514 - Click to enlarge] -
see my post at #10 carefully, I said vdocipher need a local script to obtain keys, if you want to obtain keys use online sites like cdrm getwvkeys or keysdb, it's impossible, those sites can't handle json payload and json response.
I don't know who told you, add token to API url then you can use it as license url+payload? This is a big mistake, you can't do it like that.
if you can't figure out how to write a vdocipher script by yourself, just send pssh and non used token here, many people will give you the keys. -
Thanks for the guidance. I'm trying to follow the script found here: https://forum.videohelp.com/threads/407099-Vdocipher-decryption-key-retrieval?
That script sends the token as json payload but I am still unable to succeed. I get the error "Update Android or Chrome" everytime. I'm thinking maybe it's the CDM but it's fresh new from a AVD. -
Weell, this is getting ridiculously difficult. So I managed to dump keys from a virtual device with Android 9 (if it was Android 10+ I couldn't dump any keys) and tried to get the decryption keys for the vdocipher video but I got an error saying I needed to update my Android or Chrome version. So I came to the conclusion that the CDM was no good, probably because it was dumped from a virtual device.
So I rooted and dumped the keys from 2 real devices (one with Android 10 and the other one with Android 11), but after dumping the keys and trying to get the decrypt keys now I get the error "60072078 Device not supported". Not only do I get this error from the vdocipher.py script, now I get the same error whenever I try to play the video from my device, when it didn't throw an error before!
It looks like my devices were blocked from the server on the first try. As an aside, I can play the vdocipher demos, it's just the domain from which I'm trying to download the video that throws me the 'device not supported' error. -
i am using this https://github.com/Diazole/vdocipher-dl/blob/main/vdocipher.py but I got {"code":2048,"message":"Authentication failed"} please help. thank in advance
-
use this script instead, but you still need a good CDM:
since one of my CDM banned by vdocipher, so perphaps i will not help download vdocipher courses, im so sorry. -
-
what will happen my real phone CDM gets banned, will widevine videos play on my phone
-
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
Similar Threads
-
How to download vdocipher encrypted videos
By hamada_mohamed in forum Video Streaming DownloadingReplies: 29Last Post: 9th Dec 2023, 08:43 -
Download from Vdocipher!
By Goust in forum Video Streaming DownloadingReplies: 7Last Post: 19th May 2023, 05:51 -
i need solution for download video from vdocipher
By gaby in forum Video Streaming DownloadingReplies: 12Last Post: 14th Nov 2022, 16:42 -
how can download encrypted [vdocipher] cloud video
By mr.root in forum Video Streaming DownloadingReplies: 6Last Post: 30th Oct 2022, 12:50 -
Vdocipher - unable to parse license
By davidbdn1994 in forum Video Streaming DownloadingReplies: 5Last Post: 25th Sep 2022, 06:46