FoxRefire / wvg

Chrome/Firefox extension for pen-testing to retrieve encryption keys of Widevine protected content !DON'T DECRYPT CONTENT UNLESS YOU HAVE THE RIGHT TO DO IT!
GNU Affero General Public License v3.0
199 stars 47 forks source link

Make PureJS Edition #46

Open FoxRefire opened 1 month ago

FoxRefire commented 1 month ago

With protobuf.js, it is possible to parse the Protocol Buffer using only Javascript, which means that WVG functionality may be implemented without relying on libraries in other languages such as Pywidevine or WVCore.

Once this is accomplished, dependencies can be greatly reduced and extensions can be lightweight.

Also, unlike other shitty jobs, this one is beneficial to me because it leads to my own learning.

Here is my test project using protobuf.js: https://github.com/FoxRefire/eme-fingerprinting/tree/main

FoxRefire commented 1 month ago

It would also be great if I could replace webrequests with declarativeNetRequests to support ManifestV3. In addition, redundant expressions can be avoided by eliminating the use of EME logging to acquire Init data(PSSH) and parsing the challenge as a Protocol Buffer and acquiring it directly.

FoxRefire commented 2 weeks ago

It would also be great if I could replace webrequests with declarativeNetRequests to support ManifestV3.

It impossible due to API limitation. declarativeNetRequests doesn't have feature of intercepting requests, sucks.