VideoHelp Forum




+ Reply to Thread
Results 1 to 9 of 9
  1. So, I'm testing WKS-KEY program to get decryption key for Bitmovin DRM demo. I have this key:
    Code:
    eb676abbcb345e96bbcf616630f1a3da:100b6c20940f779a4589152b57d2dacb
    When trying to run program, it gives me an error:
    Code:
    ERROR:cdm.cdm:unable to parse license - check protobufs
    I have extracted CDM from Android Studio, and edited l3.py and getPSSH.py files.

    Any solutions?
    Last edited by HORDTHIONZAC; 17th Jun 2023 at 03:44. Reason: device information removed
    Quote Quote  
  2. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Too much information. And what you have posted includes all the details needed for a CDN to ban your CDM. I would remove it and remove your link to files!

    Secondly. You are using a modified l3.py with all sorts of crap in it. For proving your CDM working at bitmovin' just use a straight l3.py
    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
    '''
    
    import base64, requests, sys, xmltodict
    import headers
    #import cookies
    import json
    from cdm import cdm, deviceconfig
    from base64 import b64encode
    from getPSSH import get_pssh
    from wvdecryptcustom import WvDecrypt
    from cdm.formats import wv_proto2_pb2 as wv_proto2
    
    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)
    Secondly the curl of your license is of a proxy not the license itself.
    Thirdly, the good news is your CDM works.
    Image
    [Attachment 71758 - Click to enlarge]

    Fourthly, bad news, you've posted your whole CDM for the World to download. I have just used it and now can everyone else.
    Quote Quote  
  3. wks-key link removed
    Quote Quote  
  4. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Originally Posted by HORDTHIONZAC View Post
    wks-key link removed
    The device can still be identified from your log file; best to remove that too.
    Quote Quote  
  5. device information removed
    Quote Quote  
  6. Sorry, I have downloaded wks-keys from github. Where you got l3.py file?
    Quote Quote  
  7. I downloaded wks-key from github: https://github.com/larsk2/kks
    There is so many useless information, that gives me an error.
    Thank you for l3.py fixed program!
    Quote Quote  
  8. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    Originally Posted by HORDTHIONZAC View Post
    Sorry, I have downloaded wks-keys from github. Where you got l3.py file?
    Try this https://github.com/weapon121/WKS-KEY/releases/tag/WKS-KEY
    Quote Quote  
  9. Originally Posted by A_n_g_e_l_a View Post
    It works. Thank you for helping!
    Quote Quote  



Similar Threads

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