VideoHelp Forum


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


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


+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 33
Thread
  1. Member
    Join Date
    May 2023
    Location
    china
    Search Comp PM
    I need to watch and don't want to open the page every time

    MPD file, Hong Kong IP is required
    https://ewcdn16.nowe.com/session/15-ee70c487b4627c3ec05b3768c9940/Content/DASH_VOS3/Li...2068eb2_168534 6829

    This is a free channel, I don't know if it can be discussed

    I get licsece through CHROME F12 keywords https://fwp.nowe.com/wrapperWV

    But I don't know how to get the correct PSSH and DRMtoken in this website

    I need the following data to use wks-keys

    E:\Tvtools\WKS-KEYS\WKS-KEYS>py l3now.py

    PSSH:
    License URL:
    drmToken:

    I try to analyze the MPD file, use the UUID to transcode at https://tools.axinom.com/generators/PsshBox to get PSSH

    AAAAMnBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAABISEO3vi6 l51krOo8gn3NUdIe0=

    Use https://curlconverter.com/python/ to convert the MPD address to Python format and fill it in the headers file

    But I don't know if it is correct, and then execute py l3now.py and report an error

    I want to be guided by enthusiastic friends, not to tell me the final result, thank you very much

    From translation software, please forgive me
    Quote Quote  
  2. write the url of the video instead, because the information you wrote doesn't count for anything

    (we can see a pssh to retrieve the key if it is in the database, but it has nothing to do with wks..)
    Quote Quote  
  3. Member
    Join Date
    May 2023
    Location
    china
    Search Comp PM
    Originally Posted by sk8ordi3 View Post
    write the url of the video instead, because the information you wrote doesn't count for anything

    (we can see a pssh to retrieve the key if it is in the database, but it has nothing to do with wks..)


    https://nowplayer.now.com/tvguide/channeldetail/332/1


    This link, please tell me how to get the data needed above, thank you very much, I need a Hong Kong IP, and it seems to be bound to the IP when I opened this link for the first time
    Quote Quote  
  4. Use EME logger to get pssh, and you find drmToken in the Payload tab of wrapperWV.

    Image
    [Attachment 71404 - Click to enlarge]
    Quote Quote  
  5. Member
    Join Date
    May 2023
    Location
    china
    Search Comp PM
    Thank you very much. After I try to enter these data, I still report an error. I suspect that my headers file is wrong. How to get the headers file of this website is correct.
    Image Attached Thumbnails Click image for larger version

Name:	now1.jpg
Views:	499
Size:	473.4 KB
ID:	71409  

    Quote Quote  
  6. Works fine for me with CrymanChen's modified script

    Code:
    [+] License Request: b'{"drmToken": "a75cdf7df7709de35ca2cb877466cf1d6581702d2c4238ce23035453e08c447b12a2ec9249f475b7d455b213a2ee195356cc69bacf57f95673664dd79db5ae46ff2f527258bef0e4b1bfd99e04025cd34a9edda6ecbb5b40bf0bc9c829aea98e", "rawLicenseRequestBase64": "CAESmg0KrQwIARLrCQquAggCEhBymf8POdYD/mxKwfO13PMkP.........kCtA=="}'
    
    [+] License Response: b'CAIS/wEKPAogQzMxMjRCQjk2QjJBQkI.........VgA'
    
    --key 7996312637ef34938705764687a87eee:573b0560f51f47820b23dc7c93740289
    I'll throw together an auto script..
    Quote Quote  
  7. Member
    Join Date
    May 2023
    Location
    china
    Search Comp PM
    Originally Posted by sk8ordi3 View Post
    Works fine for me with CrymanChen's modified script

    Code:
    [+] License Request: b'{"drmToken": "a75cdf7df7709de35ca2cb877466cf1d6581702d2c4238ce23035453e08c447b12a2ec9249f475b7d455b213a2ee195356cc69bacf57f95673664dd79db5ae46ff2f527258bef0e4b1bfd99e04025cd34a9edda6ecbb5b40bf0bc9c829aea98e", "rawLicenseRequestBase64": "CAESmg0KrQwIARLrCQquAggCEhBymf8POdYD/mxKwfO13PMkP.........kCtA=="}'
    
    [+] License Response: b'CAIS/wEKPAogQzMxMjRCQjk2QjJBQkI.........VgA'
    
    --key 7996312637ef34938705764687a87eee:573b0560f51f47820b23dc7c93740289
    I'll throw together an auto script..
    This looks great, but I can't find this script, can you post it
    Quote Quote  
  8. thanks wks&CrymanChen
    original script: https://github.com/CrymanChen/WKS-KEYS

    modified script:
    added getting NPXWC time, drmtoken, mpd

    I tried many different ways to get the right pssh, but always got back a much shorter one
    it looks like it can only be extracted from eme logger, or downloading a piece of it, but I didn't mess with that..

    (I don't have access to the paid section, so I don't know how to solve that...)

    now you only need to enter the free channel url and pssh..

    Image
    [Attachment 71410 - Click to enlarge]


    Code:
    # -*- coding: utf-8 -*-
    # Module: KEYS-L3
    # Created on: 11-10-2021
    # Authors: -∞WKS∞-
    # Version: 1.1.0
    
    # Modified by: CrymanChen
    # Modified on: April 7, 2023
    
    import base64, requests, sys, xmltodict
    # 增加了一个第三方库pyperclip, 目的是将key(有时是多个key)快速复制到剪贴板中
    import pyperclip
    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 re
    import urllib3
    requests.packages.urllib3.disable_warnings()
    requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += ':HIGH:!DH:!aNULL'
    
    #changed headers to inside the script
    #getting nowtime unix for NPXWC & drmtoken & mpd
    import time
    now_NPXWC = int(time.time() * 1000)
    
    print('\ntest link: https://nowplayer.now.com/tvguide/channeldetail/332/1\n')
    
    link = input('link: ')
    link_id = re.findall(r'channeldetail/(.*)/', link)[0].strip()
    
    pssh = input('\nPSSH: ')
    
    import requests
    
    cookies0 = {
        'LANG': 'en',
        'NOWSESSIONID': '',
    }
    
    headers0 = {
        'Accept': '*/*',
        'Connection': 'keep-alive',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Origin': 'https://nowplayer.now.com',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        'X-Requested-With': 'XMLHttpRequest',
    }
    
    data0 = {
        'callerReferenceNo': 'NPXWC'+str(now_NPXWC)+'',
        'channelNo': link_id,
    }
    
    response0 = requests.post('https://nowplayer.now.com/liveplayer/play/', cookies=cookies0, headers=headers0, data=data0).json()
    
    mpd = response0['asset'][0]
    print(f'\n{mpd}\n')
    
    drmToken = response0['drmToken']
    print(f'\n{drmToken}\n')
    #--------------
    
    lic_url = 'https://fwp.now.com/wrapperWV'
    
    headers = {
        'Accept': '*/*',
        'Connection': 'keep-alive',
        'Origin': 'https://nowplayer.now.com',
        'Referer': 'https://nowplayer.now.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded',
    }
    
    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)
        challengeb64 = str(b64encode(wvdecrypt.get_challenge()),"utf-8")
        data = {"drmToken":drmToken,"rawLicenseRequestBase64":challengeb64}
        widevine_license = requests.post(url=lic_url, json=data, headers=headers)
    
        print(f"\n[+] License Request: {widevine_license.request.body}")
        print(f"\n[+] License Response: {base64.b64encode(widevine_license.content)}")
        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)
    
    # 建立key_string字符串, 使得所有key进行如下变换: ①添加前缀"--key" ②使得每一个带有前缀的key以空格的形式连接起来(方便multi-keys时一键复制)
    key_string = ' '.join([f"--key {key}" for key in keys])
    # 使用导入的pyperclip库, 将key_string字符串复制至剪贴板, 省去手动选择"--key {key}"、复制、粘贴的麻烦
    pyperclip.copy(key_string)
    Quote Quote  
  9. nxhda
    Join Date
    Sep 2022
    Location
    United States
    Search Comp PM
    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)
    challengeb64 = str(b64encode(wvdecrypt.get_challenge()), "utf-8")
    data = {"drmToken": drmtoken, "rawLicenseRequestBase64": challengeb64}
    widevine_license = requests.post(url=lic_url, json=data, headers=headers)
    print(widevine_license.request.body)
    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)
    Quote Quote  
  10. nxhda
    Join Date
    Sep 2022
    Location
    United States
    Search Comp PM
    "drmToken" expires faster, you must use it quickly to get the key
    Quote Quote  
  11. Member
    Join Date
    May 2023
    Location
    china
    Search Comp PM
    OK, done, thank you very much
    Quote Quote  
  12. Psychology student CrymanChen's Avatar
    Join Date
    Apr 2022
    Location
    Mainland China
    Search Comp PM
    Surprisingly found that y'all have been using my edited script.

    To answer the question from @nike1999:

    PSSH:
    Code:
    AAAAUHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADAIARIQeZYxJjfvNJOHBXZGh6h+7hoNd2lkZXZpbmVfdGVzdCIJQ0gzMzJEYXNoMgA=
    License URL:
    Code:
    https://fwp.now.com/wrapperWV
    drmToken: (This changes fast, theoretically, in 15 seconds.)

    Key:
    Code:
    --key 7996312637ef34938705764687a87eee:573b0560f51f47820b23dc7c93740289
    twitter @Cryman_Chen
    email crymanchen@gmail.com
    Quote Quote  
  13. Psychology student CrymanChen's Avatar
    Join Date
    Apr 2022
    Location
    Mainland China
    Search Comp PM
    And to be frank, @sk8ordi3:

    I didn't realize that I have forgotten to delete the "print()" part in the script I uploaded on the GitHub.
    These informations are useless unless you are under debugging.
    twitter @Cryman_Chen
    email crymanchen@gmail.com
    Quote Quote  
  14. @CrymanChen

    if no print()
    it will run in parallel with the License Response: ..
    I left it there to make it more airy

    have you tried that pssh can be extracted somehow with script?
    since there is only uuid:9a04f079-9840-4286-ab92-e65be0885f95 ms long playready in mpd
    so the right pssh it is only possible to read from eme logger
    Quote Quote  
  15. Psychology student CrymanChen's Avatar
    Join Date
    Apr 2022
    Location
    Mainland China
    Search Comp PM
    so the right pssh it is only possible to read from eme logger
    Yes, since you cannot find the pssh for the Widevine system.
    The simplest way is to refer to the EME logger in the Console, or you could try generating a new one with the Key ID it showed to you.
    twitter @Cryman_Chen
    email crymanchen@gmail.com
    Quote Quote  
  16. @CrymanChen
    yeah, i was thinking it wouldn't just be found somewhere..
    yt-dlp chunk worked to get pssh

    Image
    [Attachment 71423 - Click to enlarge]


    Code:
    # -*- coding: utf-8 -*-
    # Module: KEYS-L3
    # Created on: 11-10-2021
    # Authors: -∞WKS∞-
    # Version: 1.1.0
    
    # Modified by: CrymanChen
    # Modified on: April 7, 2023
    
    import base64, requests, sys, xmltodict
    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 re
    import urllib3
    requests.packages.urllib3.disable_warnings()
    requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += ':HIGH:!DH:!aNULL'
    from pathlib import Path
    import subprocess
    import os
    
    yt_dl = 'yt-dlp.exe'
    m3u8DL_RE = 'N_m3u8DL-RE.exe'
    
    files_to_delete = ["init.mp4", "key.txt", "pssh.txt"]
    for file_name in files_to_delete:
        if os.path.exists(file_name):
            os.remove(file_name)
            print(f"{file_name} file successfully deleted.")
    
    def find_wv_pssh_offsets(raw: bytes) -> list:
        offsets = []
        offset = 0
        while True:
            offset = raw.find(b'pssh', offset)
            if offset == -1:
                break
            size = int.from_bytes(raw[offset-4:offset], byteorder='big')
            pssh_offset = offset - 4
            offsets.append(raw[pssh_offset:pssh_offset+size])
            offset += size
        return offsets
    
    def to_pssh(content: bytes) -> list:
        wv_offsets = find_wv_pssh_offsets(content)
        return [base64.b64encode(wv_offset).decode() for wv_offset in wv_offsets]
    
    def extract_pssh_from_file(file_path: str) -> list:
        print('Extracting PSSHs from init file:', file_path)
        return to_pssh(Path(file_path).read_bytes())    
    
    #changed headers to inside the script
    #getting nowtime unix for NPXWC & drmtoken & mpd
    import time
    now_NPXWC = int(time.time() * 1000)
    
    print('\ntest link: https://nowplayer.now.com/tvguide/channeldetail/332/1\n')
    
    link = input('link: ')
    link_id = re.findall(r'channeldetail/(.*)/', link)[0].strip()
    
    import requests
    
    cookies0 = {
        'LANG': 'en',
        'NOWSESSIONID': '',
    }
    
    headers0 = {
        'Accept': '*/*',
        'Connection': 'keep-alive',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Origin': 'https://nowplayer.now.com',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        'X-Requested-With': 'XMLHttpRequest',
    }
    
    data0 = {
        'callerReferenceNo': 'NPXWC'+str(now_NPXWC)+'',
        'channelNo': link_id,
    }
    
    response0 = requests.post('https://nowplayer.now.com/liveplayer/play/', cookies=cookies0, headers=headers0, data=data0).json()
    
    mpd = response0['asset'][0]
    print(f'\n{mpd}\n')
    
    drmToken = response0['drmToken']
    print(f'{drmToken}\n')
    
    subprocess.run([yt_dl, '--no-warning', '--test', '--allow-u', '-f', 'bv', '-o', 'init.mp4', mpd])
    
    pssh_list = extract_pssh_from_file('init.mp4')
    pssh = None
    for target_pssh in pssh_list:
        if 70 < len(target_pssh) < 190:
            pssh = target_pssh
    print(f'\n{pssh}')
    with open("pssh.txt", "w") as f:
        f.write(pssh)
    
    lic_url = 'https://fwp.now.com/wrapperWV'
    
    headers = {
        'Accept': '*/*',
        'Connection': 'keep-alive',
        'Origin': 'https://nowplayer.now.com',
        'Referer': 'https://nowplayer.now.com/',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded',
    }
    
    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)
        challengeb64 = str(b64encode(wvdecrypt.get_challenge()),"utf-8")
        data = {"drmToken":drmToken,"rawLicenseRequestBase64":challengeb64}
        widevine_license = requests.post(url=lic_url, json=data, headers=headers)
    
        print(f"\n[+] License Request: {widevine_license.request.body}")
        print(f"\n[+] License Response: {base64.b64encode(widevine_license.content)}")
        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()
    
    st=''
    for key in keys:
      st+=' --key '+key
    with open("key.txt","a+") as f:
      f.write(st[1:]+'\n')
    
    with open("key.txt", "r") as f2:
        datas = f2.read()
        print(datas)
    
    with open("key.txt", "r") as fs:
     ke_ys = fs.readlines()
     ke_ys = ke_ys[0].strip().split()
    
    import time, datetime
    from datetime import date
    now = datetime.datetime.now()
    timenow = now.strftime("%H#%M") +' - '
    
    ido = input('length of recording\n (1 hour 21 minutes) 01:21 \n (2 minutes) 00:02 \n write here: ')      
    
    print()
    
    subprocess.run([m3u8DL_RE,
                    '-M', 'format=mkv:muxer=ffmpeg', 
                    '--del-after-done',
                    '--thread-count', '1',
                    '-sv', 'best', '-sa', 'best',
                    '--log-level', 'INFO',
                    '--save-name', timenow+link_id,
                    '--live-real-time-merge',
                    '--use-shaka-packager',
                    '--live-record-limit', ''+str(ido)+':00',
                    mpd, *ke_ys])
    
    files_to_delete = ["init.mp4", "key.txt", "pssh.txt"]
    for file_name in files_to_delete:
        if os.path.exists(file_name):
            os.remove(file_name)
            print(f"{file_name} file successfully deleted.")
    Quote Quote  
  17. Anyone know how to setup tivimate to play now 332 with the keys?
    Quote Quote  
  18. I'm studying the script, can someone tell me how does this part of the script work? Especially the callerReferenceNo.

    data0 = {
    'callerReferenceNo': 'NPXWC'+str(now_NPXWC)+'',
    'channelNo': link_id,
    }
    I'm seeing in the developer tools in that example link and found this section:

    var checkoutData = 'callerReferenceNo='+generateCallerReferenceNo()+' &channelNo=332';
    How do you figure out the generateCallerReferenceNo() and what to concatenate?
    Quote Quote  
  19. this is static data = 'NPXWC'
    with time modul we getting the now time * 1000:

    Code:
    import time
    
    now_NPXWC = int(time.time() * 1000)
    
    print(now_NPXWC) #1690353604222
    than now we just adding it what we know:

    Code:
    data0 = {
       'callerReferenceNo': 'NPXWC'+str(now_NPXWC)+'',
       'channelNo': link_id,
    }

    'callerReferenceNo': 'NPXWC1690353604222',
    Quote Quote  
  20. Thanks. How do you know "+generateCallerReferenceNo()" is equal time?

    Can you show me where I can see this info. Liked to know how you find it.
    Last edited by madcat_ninja; 27th Jul 2023 at 10:05.
    Quote Quote  
  21. i get the troble with:
    File "l3mubi.py", line 17, in <module>
    from pywidevine.L3.cdm import cdm, deviceconfig
    ModuleNotFoundError: No module named 'pywidevine.L3'

    i alleady install pyperclip so what shell i do next ???

    thank you everybody brother!@
    Quote Quote  
  22. Originally Posted by nntvcloud View Post
    i get the troble with:
    File "l3mubi.py", line 17, in <module>
    from pywidevine.L3.cdm import cdm, deviceconfig
    ModuleNotFoundError: No module named 'pywidevine.L3'

    i alleady install pyperclip so what shell i do next ???

    thank you everybody brother!@
    pip uninstall pywidevine
    pip install protobuf==3.19.5
    pip install requests
    pip install xmltodict
    pip install pyperclip
    pip install pycryptodome
    pip install pycryptodomex
    Quote Quote  
  23. Psychology student CrymanChen's Avatar
    Join Date
    Apr 2022
    Location
    Mainland China
    Search Comp PM
    https://github.com/CrymanChen/WKS-KEYS/issues/10

    You won't fix this problem unless you try yourself.
    twitter @Cryman_Chen
    email crymanchen@gmail.com
    Quote Quote  
  24. Dear all,

    May I know how to get correct PSSH from EME logger? I have got a very long string that doesn't seem to be a correct one. Thanks.

    https://viu.tv/encore/talk-with-the-body/talk-with-the-bodye7bei-niu-hai-tung

    Image
    [Attachment 77019 - Click to enlarge]
    Quote Quote  
  25. Psychology student CrymanChen's Avatar
    Join Date
    Apr 2022
    Location
    Mainland China
    Search Comp PM
    Originally Posted by askwhom View Post
    Dear all,

    May I know how to get correct PSSH from EME logger? I have got a very long string that doesn't seem to be a correct one. Thanks.

    https://viu.tv/encore/talk-with-the-body/talk-with-the-bodye7bei-niu-hai-tung

    Image
    [Attachment 77019 - Click to enlarge]
    PSSH:
    Code:
    AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYIARIQkbp1KkRhSMaEANeDdLF4tBoNd2lkZXZpbmVfdGVzdCIPMjAyNDAxMDIxODg0NDQ1MgA=
    twitter @Cryman_Chen
    email crymanchen@gmail.com
    Quote Quote  
  26. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by askwhom View Post
    Dear all,

    May I know how to get correct PSSH from EME logger? I have got a very long string that doesn't seem to be a correct one. Thanks.
    Convert from base64 to hex and look for 70737368. Then you should get something like 000000xy70737368 where x,y are digits from 1-9. Copy that string (including the 6 zeroes) till the end of the big hex. Then convert back that new hex to base64. That's your PSSH.
    Quote Quote  
  27. Thanks for CrymanChen & 102nHxWW6GkN1l916N3ayz8HQoi explanation, I can get the PSSH from EME logger.

    I have the
    PSSH : AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYIARIQkb p1KkRhSMaEANeDdLF4tBoNd2lkZXZpbmVfdGVzdCIPMjAyNDAx MDIxODg0NDQ1MgA=

    License server : https://fwp.nowe.com/wrapperWV

    drmToken:
    12ccbeddb968ba822b99ed606bddc671a0e33d65be34d07c8c 85fd007d5266137385c832e11c38a2682c7cb309f617a0d7ac e63a3b530cba86daa7058422f5dc6928014b4b5dd90c2c0312 37766604124b056db26291b22615cb680078e8474b2b9be042 e0abd56e6849dad6459342eedb4af99cf4f333ec83960c47ea d30303fce362d426a2d8c34e75a09aec146703d52f41742db8 db7c6cffa5129b417c7af76096f632b77a48ce952d0aa24ba2 20a0cc2db6760487ba48720cfe158d525c

    But still run into error, I run them on Linux machine and I use my own cdm dumping from Android, any idea? Tks.


    Image
    [Attachment 77023 - Click to enlarge]
    Quote Quote  
  28. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by askwhom View Post
    But still run into error, I run them on Linux machine and I use my own cdm dumping from Android, any idea? Tks.
    In that payload you have rawLicenseRequest somewhere, have you updated it with your cdm's challenge?
    Quote Quote  
  29. Hi 392nHxWW6GkN1l916N3ayz8HQoi,

    I have no idea about rawLicenseRequest and it should be generated via challengene on cdm. I am using the script from CrymanChen. Tks.

    https://github.com/CrymanChen/WKS-KEYS/blob/master/l3_NowE.py
    Quote Quote  
  30. so can we convert pr PSSH to wv PSSH? the value maybe not correct convert with KID, like globaltv.

    Code:
    YAMAAAEAAQBWAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4ASwBuAFcANgBrAFcARgBFAHgAawBpAEUAQQBOAGUARABkAEwARgA0AHQAQQA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBLAEoAVQBXAGMAaQBmAGcAQwAwAEkAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA+AGgAdAB0AHAAcwA6AC8ALwBwAHIAbwBmAGYAaQBjAGkAYQBsAHMAaQB0AGUALgBrAGUAeQBkAGUAbABpAHYAZQByAHkALgBtAGUAZABpAGEAcwBlAHIAdgBpAGMAZQBzAC4AdwBpAG4AZABvAHcAcwAuAG4AZQB0AC8AUABsAGEAeQBSAGUAYQBkAHkALwA8AC8ATABBAF8AVQBSAEwAPgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AEkASQBTAF8ARABSAE0AXwBWAEUAUgBTAEkATwBOAD4AOAAuADAALgAxADYAMQAxAC4AMQAwADAAMQA8AC8ASQBJAFMAXwBEAFIATQBfAFYARQBSAFMASQBPAE4APgA8AC8AQwBVAFMAVABPAE0AQQBUAFQAUgBJAEIAVQBUAEUAUwA+ADwALwBEAEEAVABBAD4APAAvAFcAUgBNAEgARQBBAEQARQBSAD4A
    Quote Quote  



Similar Threads

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