VideoHelp Forum



Support our site by donate $5 directly to us Thanks!!!

Try StreamFab Downloader and download streaming video from Netflix, Amazon!



+ Reply to Thread
Results 1 to 14 of 14
  1. Member
    Join Date
    Feb 2023
    Location
    India
    Search Comp PM
    Hi,

    I'm trying to download this movie https://www.rtp.pt/play/p11278/o-crime-do-padre-amaro

    (use portugal vpn.. for free vpn use urban vpn from chrome web store)

    Code:
    mpd: https://streaming-vod.rtp.pt/drm-dash/nas2.share/pt/h264/512x384/p11278/p11278_1_2023011310999.mp4/manifest.mpd
    pssh: AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQtX/VAIPoO/2Fu8MaMs9H4RoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lkbTlrWDJOdmJuUmxiblFpZlE9PTIHZGVmYXVsdA==
    License: https://lic.drmtoday.com/license-proxy-widevine/cenc/

    Code:
    headers:
    import requests
    
    headers = {
        'Accept': '*/*',
        'Accept-Language': 'en-GB,en;q=0.9',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        'Origin': 'https://www.rtp.pt',
        'Pragma': 'no-cache',
        'Referer': 'https://www.rtp.pt/',
        '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/110.0.0.0 Safari/537.36',
        'sec-ch-ua': '"Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"Windows"',
        'x-dt-custom-data': 'eyJ1c2VySWQiOiJwdXJjaGFzZSIsInNlc3Npb25JZCI6InAwIiwibWVyY2hhbnQiOiJtb2dfcnRwIn0=',
        'Content-Type': 'application/x-www-form-urlencoded',
    }
    
    data = '\b\x04'
    
    response = requests.post('https://lic.drmtoday.com/license-proxy-widevine/cenc/', headers=headers, data=data)


    im getting this error

    Code:
    Traceback (most recent call last):
      File "C:\Users\err\Downloads\Widevine_Keys-main\widevine_keys\l3.py", line 85, in <module>
        correct, keys = WV_Function(pssh, lic_url)
      File "C:\Users\err\Downloads\Widevine_Keys-main\widevine_keys\l3.py", line 80, in WV_Function
        wvdecrypt.update_license(license_b64)
      File "C:\Users\err\Downloads\Widevine_Keys-main\widevine_keys\wvdecryptcustom.py", line 58, in update_license
        self.cdm.provide_license(self.session, license_b64)
      File "C:\Users\err\Downloads\Widevine_Keys-main\widevine_keys\cdm\cdm.py", line 286, in provide_license
        session.session_key = oaep_cipher.decrypt(license.SessionKey)
      File "C:\Users\err\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\Cryptodome\Cipher\PKCS1_OAEP.py", line 167, in decrypt
        raise ValueError("Ciphertext with incorrect length.")
    ValueError: Ciphertext with incorrect length.

    it would be great if i can receive help..
    thankyou in advance
    Quote Quote  
  2. psaframe
    Join Date
    Mar 2021
    Location
    Algeria
    Search PM
    Are you ever tried to to search & read some useful thread?
    There is already 21 + posts on here answering this issue.
    Quote Quote  
  3. on headers delete data, response and keep only x-dt-custom-data value

    from lic url put this one:
    Code:
    https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
    and your key:
    Code:
    b57fd50083e83bfd85bbc31a32cf47e1:3d5f6bcf52c213ac76f5b896ee95be4e
    Quote Quote  
  4. Originally Posted by lomero View Post
    on headers delete data, response and keep only x-dt-custom-data value

    from lic url put this one:
    Code:
    https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
    and your key:
    Code:
    b57fd50083e83bfd85bbc31a32cf47e1:3d5f6bcf52c213ac76f5b896ee95be4e
    Hi ,
    I'm beginner and i wanted to know how did you figure out that you should add the param "specConform=true" to the lic url ?

    Regards
    Quote Quote  
  5. Member
    Join Date
    Feb 2023
    Location
    India
    Search Comp PM
    Originally Posted by lomero View Post
    on headers delete data, response and keep only x-dt-custom-data value

    from lic url put this one:
    Code:
    https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
    and your key:
    Code:
    b57fd50083e83bfd85bbc31a32cf47e1:3d5f6bcf52c213ac76f5b896ee95be4e

    I tried all possible ways given on this forum. but no luck. im using wks-keys.
    I have tested my cdm on 2 websites and it worked.



    Code:
    PSSH: AAAAbXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAE0IARIQtX/VAIPoO/2Fu8MaMs9H4RoIY2FzdGxhYnMiJGV5SmhjM05sZEVsa0lqb2lkbTlrWDJOdmJuUmxiblFpZlE9PTIHZGVmYXVsdA==
    License URL: https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true
    C:\Users\err\Downloads\WKS-KEYS\pywidevine\L3\cdm\cdm.py:260: RuntimeWarning: Unexpected end-group tag: Not all data was converted
      license.ParseFromString(base64.b64decode(license_b64))
    Traceback (most recent call last):
      File "C:\Users\err\Downloads\WKS-KEYS\l3.py", line 25, in <module>
        correct, keys = WV_Function(pssh, lic_url)
      File "C:\Users\err\Downloads\WKS-KEYS\l3.py", line 21, in WV_Function
        wvdecrypt.update_license(license_b64)
      File "C:\Users\err\Downloads\WKS-KEYS\pywidevine\L3\decrypt\wvdecryptcustom.py", line 58, in update_license
        self.cdm.provide_license(self.session, license_b64)
      File "C:\Users\err\Downloads\WKS-KEYS\pywidevine\L3\cdm\cdm.py", line 275, in provide_license
        session.session_key = oaep_cipher.decrypt(license.SessionKey)
      File "C:\Users\err\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\Cryptodome\Cipher\PKCS1_OAEP.py", line 167, in decrypt
        raise ValueError("Ciphertext with incorrect length.")
    ValueError: Ciphertext with incorrect length.
    Quote Quote  
  6. Member
    Join Date
    Feb 2023
    Location
    India
    Search Comp PM
    Originally Posted by naim2007 View Post
    Are you ever tried to to search & read some useful thread?
    There is already 21 + posts on here answering this issue.

    ive tried every possible way. but doesnt seem to work
    Quote Quote  
  7. Don't forget that you must keep your vpn active when you try to get the keys ....
    Quote Quote  
  8. Member
    Join Date
    Feb 2023
    Location
    India
    Search Comp PM
    Originally Posted by cedric8528 View Post
    Don't forget that you must keep your vpn active when you try to get the keys ....
    yes it was active
    Quote Quote  
  9. Originally Posted by thej911 View Post
    I'm beginner and i wanted to know how did you figure out that you should add the param "specConform=true" to the lic url
    experience only. this is a bug of l3 with lic.drmtoday
    so add that part of code above or also you can edit l3 to work correctly with the real link
    Code:
    https://lic.drmtoday.com/license-proxy-widevine/cenc/
    i think it's more easy use the lic url as my post#3
    Quote Quote  
  10. Member
    Join Date
    Feb 2023
    Location
    India
    Search Comp PM
    Originally Posted by cedric8528 View Post
    Code:
    # -*- coding: utf-8 -*-
    # Module: KEYS-L3
    # Created on: 11-10-2021
    # Authors: -∞WKS∞-
    # Version: 1.1.0
    
    import base64, requests, sys, xmltodict
    import headers
    from pywidevine.L3.cdm import cdm, deviceconfig
    from base64 import b64encode
    from pywidevine.L3.getPSSH import get_pssh
    from pywidevine.L3.decrypt.wvdecryptcustom import WvDecrypt
    
    pssh = input('\nPSSH: ')
    lic_url = input('License URL: ')
    
    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=headers.headers)
        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)

    This is the code im running on for reference
    Quote Quote  
  11. It's weird...

    Your vpn is a classic Vpn and not a vpn via your Browser?

    Your L3 Cdm are valid?
    Quote Quote  
  12. Member
    Join Date
    Feb 2023
    Location
    India
    Search Comp PM
    Originally Posted by cedric8528 View Post
    It's weird...

    Your vpn is a classic Vpn and not a vpn via your Browser?

    Your L3 Cdm are valid?
    Code:
    ive dumped l3 cdm from my android and ive used nord vpn.
    Quote Quote  
  13. Originally Posted by lomero View Post
    Originally Posted by thej911 View Post
    I'm beginner and i wanted to know how did you figure out that you should add the param "specConform=true" to the lic url
    experience only. this is a bug of l3 with lic.drmtoday
    so add that part of code above or also you can edit l3 to work correctly with the real link
    Code:
    https://lic.drmtoday.com/license-proxy-widevine/cenc/
    i think it's more easy use the lic url as my post#3

    thanks a lot for the info mate .

    Regards
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!