azot
v0.8.0
Published
Swiss Army knife for pentesting DRM systems
Downloads
463
Maintainers
Readme
azot
Azot (Russian word for "nitrogen", pronounced /azо́t/
) is a set of tools (JavaScript library, command-line utility and browser extension) for diagnosing, researching, and pentesting Google's Widevine DRM.
Azot 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
- Minimal dependencies
- Runtime agnostic core: works in Node.js, Bun, Deno, browsers and more
- Logging details from EME events in Developer Tools console of current page
- Encrypted Media Extensions API compatibility via
requestMediaKeySystemAccess()
method - Converting clients between formats via CLI
- Manifest V3 compliant browser extension
- Custom client support: WVD v2, device_client_id_blob + device_private_key, client_id.bin + private_key.pem
- Network-independent interception, so it doesn't matter if the request has one-time tokens or a custom request/response body format.
Installation
JavaScript library and command-line tool installation requires pre-installed JavaScript runtime (e.g. Node.js).
JavaScript library
npm install azot
Command-line tool
npm install -g azot
Chrome extension
Developer Mode needs to be enabled in chrome://extensions/
page
- Download archive from latest release
- Go to
chrome://extensions/
page - Ensure Developer Mode enabled and then drag and drop downloaded zip file to this page
Firefox extension
- Download archive from latest release
- Go to
about:debugging#/runtime/this-firefox
page - Click
Load Temporary Add-on
button and choose downloaded zip file
Temporary add-on is not persistent and will be removed after browser restart
Usage
Library
See examples.
Command-line tool
See help: azot --help