VideoHelp Forum


Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays!


Try StreamFab Downloader and download streaming video from Youtube, Netflix, Amazon! Download free trial.


+ Reply to Thread
Results 1 to 23 of 23
Thread
  1. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    I got a new vdocipher DRM method. This one might be protected by chromeCDM. The video didn't play in Firefox and Safari.
    The video is available here : https://courses.bittentechsolutions.in/courses/450489

    I have made a python script to retrieve every bit of information needed :
    HTML Code:
    from pywidevine.cdm import Cdm
    from pywidevine.device import Device
    from pywidevine.pssh import PSSH
    import requests
    import json
    import base64
    import xml.etree.ElementTree as ET
    import re
    
    DEVICEPATH = r"/Users/noham/Documents/GitHub/DRM-remover/TOOLS/WVD/xiaomi_redmi_5_plus_v5.1.0-android_701ec55d_4445_l3.wvd"
    PAGEURL = 'https://courses.bittentechsolutions.in/courses/450489'
    courseId = PAGEURL.split('/')[-1]
    
    def getpssh(url_mpd):
        psshs = []
        response = requests.get(url_mpd)
        root = ET.fromstring(response.content)
        for i in range(20):
            for j in range(20):
                for k in range(20):
                    for l in range(20):
                        try:
                            if root[i][j][k][l].text not in psshs and len(root[i][j][k][l].text) > 70 and len(root[i][j][k][l].text) < 190:
                                psshs.append(root[i][j][k][l].text)
                        except:
                            pass
        for pssh in psshs:
            return pssh
    
    def je64(input):
        return base64.b64encode(json.dumps(input).replace(' ', '').encode()).decode()
    
    response = requests.get(PAGEURL)
    div_content = re.search('<script id="__NEXT_DATA__" type="application/json">(.*?)</script>', response.text)
    if div_content:
        json_data = div_content.group(1)
        data = json.loads(json_data)
        orgId = data['props']['pageProps']['_infoData']['success']['data']['orgId']
        contentIdlist = [content['contentHashId'] for content in data['props']['pageProps']['_courseData']['success']['data']['freeContent']]
    else:
        print("Div content not found")
    
    headers = {'x-access-token': je64({"courseId":courseId,"tutorId":None,"orgId":orgId,"categoryId":None})}
    data = requests.get(f'https://api.classplusapp.com/cams/uploader/video/jw-signed-url?contentId={contentIdlist[0]}', headers=headers).json()
    mpd_url = data['drmUrls']['manifestUrl']
    print('mpd_url: ', mpd_url)
    lic_url = data['drmUrls']['licenseUrl']
    print('lic_url: ', lic_url)
    
    pssh = getpssh(mpd_url)
    pssh = PSSH(pssh)
    print('pssh: ', pssh)
    
    headers = {
        'accept': '*/*',
        'accept-language': 'fr-FR,fr;q=0.6',
        'cache-control': 'no-cache',
        'content-type': 'application/octet-stream',
        'origin': 'https://courses.bittentechsolutions.in',
        'pragma': 'no-cache',
        'priority': 'u=1, i',
        'referer': 'https://courses.bittentechsolutions.in/',
        'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Brave";v="126"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"macOS"',
        'sec-fetch-dest': 'empty',
        'sec-fetch-mode': 'cors',
        'sec-fetch-site': 'cross-site',
        'sec-gpc': '1',
        'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
    }
    
    device = Device.load(DEVICEPATH)
    cdm = Cdm.from_device(device)
    session_id = cdm.open()
    cert = requests.post(lic_url, headers=headers, data=b"\x08\x04")
    cdm.set_service_certificate(session_id, cert.content)
    challenge = cdm.get_license_challenge(session_id, pssh)
    licence = requests.post(lic_url, headers=headers, data=challenge)
    if licence.status_code != 200:
        print(licence.text)
    else:
        licence.raise_for_status()
        cdm.parse_license(session_id, licence.content)
        for key in cdm.get_keys(session_id):
            if key.type=='CONTENT':
                print(f"\n--key {key.kid.hex}:{key.key.hex()}")
        cdm.close(session_id)
    The script retrieves the manifest, license url and pssh :
    HTML Code:
    mpd_url:  https://drmcdni.classplusapp.com/streams/6434ebe938a3dd0bd9768542/307872fcc4bb0044d99d86f17348a049.mpd?key=172038221722921-20-0-52f0ee4fffe16476698d8771f5574858
    lic_url:  https://license64.vdocipher.com/auth/wv/eyJjb250ZW50QXV0aCI6ImV5SmpiMjUwWlc1MFNXUWlPaUl6TURjNE56Sm1ZMk0wWW1Jd01EUTBaRGs1WkRnMlpqRTNNelE0WVRBME9TSXNJbVY0Y0dseVpYTWlPakUzTWpBek9ESXlORGNzSW14cFkyVnVjMlZTZFd4bGN5STZJbnRjSW1OaGJsQmxjbk5wYzNSY0lqcG1ZV3h6WlN4Y0luSmxiblJoYkVSMWNtRjBhVzl1WENJNk1UZ3dNREI5SW4wPSIsInNpZ25hdHVyZSI6IjdlNTQ2OWI4ZGYwNDRmYWM6MjAyNDA3MDdUMTk1NjU3WjpYb21MZnFaaTFPMS1jR3pidXYyYjgzZy1HMDFaUVF6bTVzZ3BRUjN2U1JJPSJ9
    pssh:  AAAAWnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADoiMjc2NjQ2ZjYzNjk3MDY4NjU3MmE5OWE2YjhjYzVjNzRhZjY5NDZjNTY5YzY3OGYyMDFkSOPclZsG
    But get :
    HTML Code:
    {"code":2046,"message":"Authentication failed"}
    The license url is base64 encoded and give :
    HTML Code:
    {'contentAuth': 'eyJjb250ZW50SWQiOiIzMDc4NzJmY2M0YmIwMDQ0ZDk5ZDg2ZjE3MzQ4YTA0OSIsImV4cGlyZXMiOjE3MjAzODEyOTYsImxpY2Vuc2VSdWxlcyI6IntcImNhblBlcnNpc3RcIjpmYWxzZSxcInJlbnRhbER1cmF0aW9uXCI6MTgwMDB9In0=', 'signature': '7e5469b8df044fac:20240707T194106Z:z3ThA7lIjs6u5vhME3cufirGeLAAL1GBygCAlJ0QHNc='}
    Which give :
    HTML Code:
    {'contentId': '307872fcc4bb0044d99d86f17348a049', 'expires': 1720381296, 'licenseRules': '{"canPersist":false,"rentalDuration":18000}'
    The all process of auth seems to be the CDM, and in that case chromeCDM.. If someone manage to get more information
    Quote Quote  
  2. It says 'Free Content' at the top but doesn't seem to be free
    nvm i found it
    https://github.com/DevLARLEY
    Keys from just the License URL: WidevineFetch
    Quote Quote  
  3. Firefox works too, the site just doesn't support it. You can verify this by pasting the mpd and license urls into https://bitmovin.com/demos/stream-test immediately after playing the video in chrome.
    Image
    [Attachment 80497 - Click to enlarge]

    (OMG I CAN'T EVEN SCREENSHOT THE WINDOW WITHOUT THE PLAYER TURNING BLACK)

    got it
    Image
    [Attachment 80498 - Click to enlarge]
    https://github.com/DevLARLEY
    Keys from just the License URL: WidevineFetch
    Quote Quote  
  4. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Indeed it's working.
    Image
    [Attachment 80499 - Click to enlarge]

    Did you managed to get keys ?
    Quote Quote  
  5. No, I don't have a CDM from a physical device (yet).
    https://github.com/DevLARLEY
    Keys from just the License URL: WidevineFetch
    Quote Quote  
  6. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by larley View Post
    (OMG I CAN'T EVEN SCREENSHOT THE WINDOW WITHOUT THE PLAYER TURNING BLACK)
    You can't screenshot DRM content. You can however use addons that do the screenshot thus bypassing the DRM block on firefox
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  7. There's nothing new about this as it's simply a variant of the same VdoCipher endpoint that websites are free to choose from.

    Code:
    PSSH: AAAAWnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADoiMjc2NjQ2ZjYzNjk3MDY4NjU3MmFkNjZhNDg0YzE3YjQxZmZhY2ZlOTk1OThkOTRkYmE5SOPclZsG
    Code:
    --key df4e90bc7bd05c5ca82b266f3a30afd2:e03329ce2b5103ccc208e538560e026e
    --key 963d30b2dce05dbd94745106d19af788:fbf2fe4b450bfe55dd28dd67d4247abe
    --key e66567e6b17256978fbadf97be06b2b6:7f7bb686fe4669f5e90e3612ca2bba44
    --key b3492cb04c9d5dc0aa413fe72fb9a118:acb8445327321787d144be2a0c095550
    Quote Quote  
  8. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Originally Posted by pram0dm View Post
    There's nothing new about this as it's simply a variant of the same VdoCipher endpoint that websites are free to choose from.
    CDM from a real device should work fine ?
    Quote Quote  
  9. Originally Posted by aqzs View Post
    CDM from a real device should work fine ?
    Yes.
    Quote Quote  
  10. --key df4e90bc7bd05c5ca82b266f3a30afd2:e03329ce2b5103ccc 208e538560e026e
    --key 963d30b2dce05dbd94745106d19af788:fbf2fe4b450bfe55d d28dd67d4247abe
    --key e66567e6b17256978fbadf97be06b2b6:7f7bb686fe4669f5e 90e3612ca2bba44
    --key b3492cb04c9d5dc0aa413fe72fb9a118:acb8445327321787d 144be2a0c095550
    the keys are not correct
    Quote Quote  
  11. Originally Posted by ddll View Post
    --key df4e90bc7bd05c5ca82b266f3a30afd2:e03329ce2b5103ccc 208e538560e026e
    --key 963d30b2dce05dbd94745106d19af788:fbf2fe4b450bfe55d d28dd67d4247abe
    --key e66567e6b17256978fbadf97be06b2b6:7f7bb686fe4669f5e 90e3612ca2bba44
    --key b3492cb04c9d5dc0aa413fe72fb9a118:acb8445327321787d 144be2a0c095550
    the keys are not correct
    it's correct
    Quote Quote  
  12. Originally Posted by pram0dm View Post
    There's nothing new about this as it's simply a variant of the same VdoCipher endpoint that websites are free to choose from.

    Code:
    PSSH: AAAAWnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADoiMjc2NjQ2ZjYzNjk3MDY4NjU3MmFkNjZhNDg0YzE3YjQxZmZhY2ZlOTk1OThkOTRkYmE5SOPclZsG
    Code:
    --key df4e90bc7bd05c5ca82b266f3a30afd2:e03329ce2b5103ccc208e538560e026e
    --key 963d30b2dce05dbd94745106d19af788:fbf2fe4b450bfe55dd28dd67d4247abe
    --key e66567e6b17256978fbadf97be06b2b6:7f7bb686fe4669f5e90e3612ca2bba44
    --key b3492cb04c9d5dc0aa413fe72fb9a118:acb8445327321787d144be2a0c095550
    what are the requirements to get keys? (i have real cdm already)
    Quote Quote  
  13. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Originally Posted by slayer36 View Post
    what are the requirements to get keys? (i have real cdm already)
    Script is posted right here just use you CDM and see : https://forum.videohelp.com/threads/415190-New-vdocipher-DRM#post2742094
    Quote Quote  
  14. Another self -love
    Quote Quote  
  15. Member aqzs's Avatar
    Join Date
    Mar 2024
    Location
    Paris
    Search Comp PM
    Originally Posted by ddll View Post
    Another self -love
    That was the easiest answer I could give. The only requirement needed for vdocipher seems to be a CDM from a real device, since he have one why not using the script I made in my original post ? I took the time to write a detailed post and script and not just dropping : 'hey I never saw that DRM help me please thanks'
    Quote Quote  
  16. Code:
    pssh:  AAAAWnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADoiMjc2NjQ2ZjYzNjk3MDY4NjU3MmE5OWE2YjhjYzVjNzRhZjY5NDZjNTY5YzY3OGYyMDFkSOPclZsG
    Code:
    --key 0b14fa10ff4b53efbf353c082041bec5:0752a7d360657d6016c45abf58e29ec6
    --key ea69c62585415beea4aeb6f5b96793ae:5835ae35afceacca8b20760c2a12f48e
    --key 58de90d7477158f9b2ccadf4f653956e:876c362586d639eec036f75e319cec8c
    --key db206317112550c289e3e3fdc01c40e4:502cef8d8b3c988c0253a3048408153b
    Last edited by ddll; 17th Jul 2024 at 12:06.
    Quote Quote  
  17. Originally Posted by ddll View Post
    --key 0b14fa10ff4b53efbf353c082041bec5:0752a7d360657d601 6c45abf58e29ec6
    --key ea69c62585415beea4aeb6f5b96793ae:5835ae35afceacca8 b20760c2a12f48e
    --key 58de90d7477158f9b2ccadf4f653956e:876c362586d639eec 036f75e319cec8c
    --key db206317112550c289e3e3fdc01c40e4:502cef8d8b3c988c0 253a3048408153b
    how lol, i tried got CDM banned 🤦🏻
    Quote Quote  
  18. https://courses.bittentechsolutions.in/courses/454351
    HTML Code:
    mpd_url:  https://drmcdni.classplusapp.com/streams/66421701b65a5dc451ce9332/0e6f6ea0aaf6c8a20ef4b37ae5e9f228.mpd?key=172250882774721-80-0-0fa788c0e30da1433dcdfe4047def615
    lic_url:  https://india-drm.sdmc.tv/getlicense?token=eyJzZWNyZXRfaWQiOiJPMU0zVVMzRERNOUwyOUcxNVNDTlVMSjE2MjdDTkE1UyIsImRybV9zeXN0ZW0iOiJXSURFVklORSIsInVpZCI6IjkyOTkzMjAwMzkzMjY0NDE4NDQxIiwiY2lkIjoiMGU2ZjZlYTBhYWY2YzhhMjBlZjRiMzdhZTVlOWYyMjgiLCJ0aW1lc3RhbXAiOjE3MjI1MDg4MjcsImhhc2giOiIwVzRUeFNRa0x2U2dsb21lTHJEWWFyYTZHZmpNQzFpcGF1cjBxa2VPczVjPSIsInBvbGljeSI6Ik94a3FrYW8vb1diMEdwd2NVZUttQ0hyeXROK2FGaDJDbjM2NjlUWUtqeUNNdlJLRmdhUzEwRnNwUTdaSTdPNlJGbmt4cjB5bzhuNEExcXh5cHFMUHVJa1FCdmxDTnlrWHV1Q05RaFZnaWtpOE5UTTdmZEpCcDFuV0gvcGtiOVA5YVNvcGlWZWZUcGIyZWliK29rajhRUHQ4bVJRU2J4MmdlVHNqbGFxVXZMdz0ifQ==
    pssh:  AAAAWnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADoiMjc2NjQ2ZjYzNjk3MDY4NjU3MmQ4ZWEyM2RkNzJmODQxOWNhMTk0MDgzMmZhZDMwYmJjSOPclZsG
    
    --key 154b87bcbfe65a00bc0dd6dd34a893ce:921b3da5318b03afbb0615749fc5ff12
    
    --key 98a091f996a25e6b9076f871830577c5:c581e326f334a5cf1839f316824722e8
    
    --key e5a898a509ee596397752ecf9ff689bc:4454849f23a25e223c99cf217cce14b4
    
    --key 71c7593c9cd75e8fb8239a4211ae510f:9502d715bbc7b0e64cd11046cf773a97
    
    --key 5ee0880493e656fea05b079f6c1e9bbc:99fb3599640aaaf9c64ec92169c2d75b
    They were offended
    Quote Quote  
  19. Originally Posted by ddll View Post
    https://courses.bittentechsolutions.in/courses/454351
    HTML Code:
    mpd_url:  https://drmcdni.classplusapp.com/streams/66421701b65a5dc451ce9332/0e6f6ea0aaf6c8a20ef4b37ae5e9f228.mpd?key=172250882774721-80-0-0fa788c0e30da1433dcdfe4047def615
    lic_url:  https://india-drm.sdmc.tv/getlicense?token=eyJzZWNyZXRfaWQiOiJPMU0zVVMzRERNOUwyOUcxNVNDTlVMSjE2MjdDTkE1UyIsImRybV9zeXN0ZW0iOiJXSURFVklORSIsInVpZCI6IjkyOTkzMjAwMzkzMjY0NDE4NDQxIiwiY2lkIjoiMGU2ZjZlYTBhYWY2YzhhMjBlZjRiMzdhZTVlOWYyMjgiLCJ0aW1lc3RhbXAiOjE3MjI1MDg4MjcsImhhc2giOiIwVzRUeFNRa0x2U2dsb21lTHJEWWFyYTZHZmpNQzFpcGF1cjBxa2VPczVjPSIsInBvbGljeSI6Ik94a3FrYW8vb1diMEdwd2NVZUttQ0hyeXROK2FGaDJDbjM2NjlUWUtqeUNNdlJLRmdhUzEwRnNwUTdaSTdPNlJGbmt4cjB5bzhuNEExcXh5cHFMUHVJa1FCdmxDTnlrWHV1Q05RaFZnaWtpOE5UTTdmZEpCcDFuV0gvcGtiOVA5YVNvcGlWZWZUcGIyZWliK29rajhRUHQ4bVJRU2J4MmdlVHNqbGFxVXZMdz0ifQ==
    pssh:  AAAAWnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADoiMjc2NjQ2ZjYzNjk3MDY4NjU3MmQ4ZWEyM2RkNzJmODQxOWNhMTk0MDgzMmZhZDMwYmJjSOPclZsG
    
    --key 154b87bcbfe65a00bc0dd6dd34a893ce:921b3da5318b03afbb0615749fc5ff12
    
    --key 98a091f996a25e6b9076f871830577c5:c581e326f334a5cf1839f316824722e8
    
    --key e5a898a509ee596397752ecf9ff689bc:4454849f23a25e223c99cf217cce14b4
    
    --key 71c7593c9cd75e8fb8239a4211ae510f:9502d715bbc7b0e64cd11046cf773a97
    
    --key 5ee0880493e656fea05b079f6c1e9bbc:99fb3599640aaaf9c64ec92169c2d75b
    They were offended
    need real cdm for this new drm too?
    Quote Quote  
  20. Hi @aqzs, as of today, is it possible to download VdoCipher videos? May you explain me quickly your script in dm (i'm french) ? Thanks!!
    Quote Quote  



Similar Threads

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