Skip to content

azot-labs/okova

Repository files navigation

okova

npm version GitHub Downloads (all assets, latest release) npm downloads

Okova (formerly known as Azot) is a set of tools (JavaScript library, command-line utility and browser extension) for diagnosing, researching, and pentesting DRM systems like Widevine.

Okova is still in the early stages of development, so until version 1.0 is released, performance may be unstable and major changes may be made

Features

  • Logging details from EME events in DevTools console
  • Network-independent interception via browser extension, so it doesn't matter if license request has one-time tokens or a custom request/response body format
  • Remote instance to manage sessions via REST API
  • Custom CDM client support: create *.wvd or *.prd from raw client files and import them into browser extension
  • Runtime agnostic core: works in Node.js, Bun, Deno, browsers and more
  • Encrypted Media Extensions API compatibility via requestMediaKeySystemAccess() method

Installation

JavaScript library and command-line tool installation requires pre-installed JavaScript runtime (e.g. Node.js).

JavaScript library

npm install okova

Command-line tool

npm install -g okova

Chrome extension

Developer Mode needs to be enabled in chrome://extensions/ page

  1. Download archive from latest release
  2. Go to chrome://extensions/ page
  3. Ensure Developer Mode enabled and then drag and drop downloaded zip file to this page

Read Google's guide

Firefox extension

  1. Download archive from latest release
  2. Go to about:debugging#/runtime/this-firefox page
  3. Click Load Temporary Add-on button and choose downloaded zip file

Temporary add-on is not persistent and will be removed after browser restart

Read Mozilla's guide

Usage

Library

See examples.

Command-line tool

See help: okova --help

Disclaimer

  1. This project does not condone piracy or any action against the terms of the DRM systems.
  2. All efforts in this project have been the result of Reverse-Engineering, Publicly available research, and Trial & Error.
  3. Do not use this program to decrypt or access any content for which you do not have the legal rights or explicit permission.
  4. Unauthorized decryption or distribution of copyrighted materials is a violation of applicable laws and intellectual property rights.
  5. This tool must not be used for any illegal activities, including but not limited to piracy, circumventing digital rights management (DRM), or unauthorized access to protected content.
  6. The developers, contributors, and maintainers of this program are not responsible for any misuse or illegal activities performed using this software.
  7. By using this program, you agree to comply with all applicable laws and regulations governing digital rights and copyright protections.