DevLARLEY / LearnystDownloader

Downloads encrypted/unencrypted videos/audio/pdf/html/images from Learnyst
GNU General Public License v3.0
9 stars 7 forks source link

cdm files naming convention #4

Closed Mancy closed 3 hours ago

Mancy commented 3 hours ago

Thank you for this script

Question: The device_id file extracted from the frida dumper does not have the required WVD mime bytes

Also what is the expected cdm privatekey filename? I assume any name for the blob file example.wvd, but what about the privatekey pem file

Mancy commented 3 hours ago

i have found the answer here this code will be used to convert the bin to wvd

import os
import subprocess

script_dir = os.path.dirname(os.path.realpath(__file__))
subfolders = [f.path for f in os.scandir(script_dir) if f.is_dir()]

for subfolder in subfolders:
    private_key_path = os.path.join(subfolder, 'private_key.pem')
    client_id_path = os.path.join(subfolder, 'client_id.bin')
    output_wvd_name = os.path.basename(subfolder) + '.wvd'
    output_wvd_path = os.path.join(script_dir, output_wvd_name)
    command = [
        'pywidevine',
        'create-device',
        '-k', private_key_path,
        '-c', client_id_path,
        '-t', 'ANDROID',
        '-l', '3',
        '-o', output_wvd_path
    ]
    subprocess.run(command, check=True)