Mirrored from LARLEY
Go to file
2026-02-06 14:31:20 +02:00
agent Upload 2026-02-06 14:31:20 +02:00
_agent.js Upload 2026-02-06 14:31:20 +02:00
clean.js Upload 2026-02-06 14:31:20 +02:00
LICENSE Upload 2026-02-06 14:31:20 +02:00
main.py Upload 2026-02-06 14:31:20 +02:00
package.json Upload 2026-02-06 14:31:20 +02:00
README.md Upload 2026-02-06 14:31:20 +02:00
requirements.txt Upload 2026-02-06 14:31:20 +02:00
tsconfig.json Upload 2026-02-06 14:31:20 +02:00

AWP - Android Widevine Proxy

ADB Proxy for Widevine challenges/licenses between the Android MediaDrm API and an App

Requirements

An Android Phone with the following:

  • USB debugging
  • ADB
  • frida-server running

Installation

  • Install the requirements.txt file

Usage

AWP is run per app, which should already be running when attempting to launch the program.
Keys are printed the specified format as soon as a challenge and license were received.

Note

This will not work if the app is not using the MediaDrm API

usage: main.py [-h] [--key-format {default,mp4decrypt,shaka-packager}] [--token-only] <APP_NAME> <WVD>

AWP - Android Widevine Proxy

positional arguments:
  <APP_NAME>            The name of the app to intercept
  <WVD>                 Path of the widevine device

options:
  -h, --help            show this help message and exit
  --key-format {default,mp4decrypt,shaka-packager}
                        Format of printed keys
  --token-only          Only replace the token in the challenge (only if privacy mode is off)

Agent Compilation

Run npm run compile to properly compile the frida script if you need to make any changes.

Demo

demo.webm