|
Widevine has 3 level ( 1 -2 -3 ).
Software based ( level 3 )
Hardware based ( level 1 )
The best way for level 3 is making this :
You install AndroidStudio and create virtual machine based on Android.
Create a Pixel 7 Pro with API Level 28 and Target Android 9.
Download Frida bin for Android
https://github.com/frida/frida/releases/download/16.0.8/frida-server-16.0.8-android-x86_64.xz
Push the server frida bin on /sdcard with adb cmd and start your emulated android , run the frida server.
Create a local linux python VirtualEnv ( install frida pip dependancy as well ).
And download this -> https://github.com/wvdumper/dumper
* Launch frida server on your emulated Android
* Launch the script python wvdumper ...
Check if Script get connection to frida.
On Emulated android, open a browser and go to an url to play a DRM stream with widevine. ( Ex : https://bitmovin.com/demos/drm ).
On your console python log you will see some debug information and can check if your keys has been dumped.
In folder of wvdumper -> /key_dumps/ you will get folder tagged by serial Android with inside normally 2 files ( key & cert ) to be used for any downloader...
For L1 you need to dump secure area ... some exploits exist based on Widevine servlet to dump the AES key ( AES key will be used to provision cert / key ) on google server.
Google at any time can revoke kill keys and company can block as well ...
Pay attention that some blacklist L3 ..
|