Skip to content

This repo created for bypassing Widevine L3 DRM and obtaining keys.

Notifications You must be signed in to change notification settings

mdaba/widevine_keys

 
 

Repository files navigation

Works only if the site does not require specific json-formatted data in the license request. And if it requires and you want to add its support, write to issues specifying the required json-formatted fields and the algorithm for their formation (if not static).
Examples:

  1. Normal work:
    Normal work
  2. Server did not issue a license, as it requires additional json-formatted data: error_teapot
  3. If "Unable to find PSSH in mpd" - write about this error to issues attaching a link to mpd.

Further about kinopoisk (hello to compatriots):
Not working yet. It is necessary to find out how the POST request is signed (the signature field in the request payload). It looks like a simple hash of sha1, but from the looks of it, this is not it, but the Amazon's AWS Signature Version 4. Or I am doing something wrong and everything is much easier... Any ideas are appreciated, write to issues.

Parsed payload of license request

First run:

Copy headers (with cookies) of POST license request from browser to headers.py like dictionary.
pip install -r requirements.txt # if doesn't work try pip3
py l3.py
Input MPD URL: https://strm.yandex.ru/vh-ottenc-converted/vod-content/.../.../dash-cenc/sdr_uhd_hevc_ec3.mpd

About

This repo created for bypassing Widevine L3 DRM and obtaining keys.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%