Finished main guide of obtaining keys, need to finish optional section.
This commit is contained in:
TPD94 2022-08-29 23:00:44 -04:00
parent c0fd7344a0
commit d8ee879b9a
1 changed files with 41 additions and 8 deletions

View File

@ -1,24 +1,28 @@
# Purpose of this project # Purpose of this project
Hello everyone! Hope all is good. I've spent the past few months scouring pages just to try and get decryption keys for widevine content. There was no clear instructions on the internet and the instructions that are there need pieced togther for a proper result. What I've tried to do is condense these fragments down to a cohesive guide for people to follow. If you have any questions feel free to message me on here, my reddit and discord, Contact informatoin can be found on my profile Hello everyone! Hope all is good. I've spent the past few months scouring pages just to try and get decryption keys for widevine content. There was no clear instructions on the internet and the instructions that are there need pieced togther for a proper result. What I've tried to do is condense these fragments down to a cohesive guide for people to follow. If you have any questions feel free to message me on here, my reddit or discord, Contact informatoin can be found on my profile.
## Prerequisites ## Prerequisites
I used all the mentioned tools on windows 10 x64, please install all of the I used all the mentioned tools on windows 10 x64
[Golang](https://go.dev/dl/:// "Golang") [Golang](https://go.dev/dl/:// "Golang")
[Python 3.10.2](https://www.python.org/downloads/release/python-3102/ "Python 3.10.2") *Make sure to check "add to path" option when installing.* [Python 3.10.2](https://www.python.org/downloads/release/python-3102/ "Python 3.10.2") *Make sure to check "add to path" option when installing.*
[YT-DLP](https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe "YT-DLP")
[ADB Minimal Install](https://www.droidmirror.com/download/minimal-adb-fastboot-v1-4-3-zip "ADB Minimal Install") [ADB Minimal Install](https://www.droidmirror.com/download/minimal-adb-fastboot-v1-4-3-zip "ADB Minimal Install")
A (preferably non samsung) Android 7-9 (possibly Android 10) device that is able to be rooted and bonus points for bootloader unlocked A (preferably non samsung) Android 7-9 (possibly Android 10) device that is able to be rooted.
#### What I used #### Optional
[YT-DLP](https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe "YT-DLP")
[ffMPEG](https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z "ffMPEG")
#### Android device I used
[Truewell T95 S1](https://www.amazon.com/T95-S1-Android-Amlogic-Ethernet/dp/B07F8X1PQR "Truewell T95 S1") [Truewell T95 S1](https://www.amazon.com/T95-S1-Android-Amlogic-Ethernet/dp/B07F8X1PQR "Truewell T95 S1")
I'ts pre-rooted, and I know I could dump the keys from it from previous users success, and it's only around $30 USD, much cheaper than what you'll get secondhand and have to be worried about everything going right, but like I said in the previous section, the selection of what should work is pretty large so if you have a spare device you can avoid this cost. Pre-rooted, around $30 USD, multiple user success of dumping keys (myself included), good for those who don't have a spare android.
**IF YOU DO USE YOUR OWN ANDROID DEVICE YOU MUST INSTALL MAGISK AND THE FRIDA-SERVER MODULE** **IF YOU DO USE YOUR OWN ANDROID DEVICE YOU MUST INSTALL MAGISK AND THE FRIDA-SERVER MODULE**
@ -50,7 +54,7 @@ On your device you should receive a notificatoin to accept the adb connection, c
Let's go ahead and push frida-server to the Android device, for the T95 S1 I used [Frida-Server 15.1.17](https://github.com/frida/frida/releases/download/15.1.17/frida-server-15.1.17-android-arm.xz "Frida-Server 15.1.17") for android. Unnzip the xz file and extract Frida-Server file. Let's go ahead and push frida-server to the Android device, for the T95 S1 I used [Frida-Server 15.1.17](https://github.com/frida/frida/releases/download/15.1.17/frida-server-15.1.17-android-arm.xz "Frida-Server 15.1.17") for android. Unnzip the xz file and extract Frida-Server file.
Change directory to where you extracted the file and enter the command`adb push frida-server-15.1.17-android-arm /sdcard/` Change directory to where you extracted the file and enter the command `adb push frida-server-15.1.17-android-arm /sdcard/`
Once it has been pushed open up a shell with `adb shell` Once it has been pushed open up a shell with `adb shell`
@ -82,9 +86,38 @@ Once you have played the content your keys should be dumped in the dumper folder
Make a copy of these for safekeeping wherever you like but DO NOT LOSE THEM Make a copy of these for safekeeping wherever you like but DO NOT LOSE THEM
*You can now close out of running frida server if you are running it over adb, you may also close dumper once you have verified successful dumping.*
Make sure to have file extensions visible on windows, this can be turned on by searching "show file extensions" in the windows search bar. Make sure to have file extensions visible on windows, this can be turned on by searching "show file extensions" in the windows search bar.
Now we will rename these files, `clent_id.bin` to `device_client_id_blob.` and rename `private_key.pem` to `device_private_key.` **The periods on the end is intentional as windows likes to keep file extentions, please make sure to have this exact or it will cause errors with downey! Only rename with windows, using a program such as text editor and saving under all files will still corrupt the data!** Now we will rename these files, `clent_id.bin` to `device_client_id_blob.` and rename `private_key.pem` to `device_private_key.` **The periods on the end is intentional as windows likes to keep file extentions, please make sure to have this exact or it will cause errors with downey! Only rename with windows, using a program such as text editor and saving under all files will still corrupt the data!**
# Step 3: Obtaining decryption keys # Step 3: Obtaining decryption keys
Open command prompt as adminstrator and navigate to extracted Downey folder.
Build Downey with command `go build -o downey.exe -a main.go` once this is finished you should see `downeye.exe` in your Downey folder
Copy the `device_client_id_blob` file and `device_private_key` file to the Downey folder.
Open Firefox or Chrome and navigate back to [https://bitmovin.com/demos/drm](https://bitmovin.com/demos/drm "https://bitmovin.com/demos/drm") and open web devoloper tools (ctrl+shift+c) and click on the network tab
Play the video on the site, then in the filter urls type in `method:POST` and under the domain look for the licensing server, in this case it's `https://cwip-shaka-proxy.appspot.com/` right click on this value and copy value -> copy post data and paste this somewhere safe for now.
Next we need the MPD file, under the filter url section in the network tab now we are going to filter for `MPD` one result should show up for `11331.mpd` downoad this by double clicking or copying and saving. Rename this file to `manifest.mpd`and place it in your Downey folder
Now we have everything we need, let's go ahead and run downey with `downey.exe --lic-server "https://cwip-shaka-proxy.appspot.com/no_auth"` if everything goes successful you should get the decryption keys for the video, so for bitmovin i received
```
Decryption keys:
ccbf5fb4c2965be7aa130ffb3ba9fd73:9cc0c92044cb1d69433f5f5839a159df
9bf0e9cf0d7b55aeb4b289a63bab8610:90f52fd8ca48717b21d0c2fed7a12ae1
eb676abbcb345e96bbcf616630f1a3da:100b6c20940f779a4589152b57d2dacb
0294b9599d755de2bbf0fdca3fa5eab7:3bda2f40344c7def614227b9c0f03e26
639da80cf23b55f3b8cab3f64cfa5df6:229f5f29b643e203004b30c4eaf348f4
```
And there you have it! decryption keys for all versions of the video and one for the audio.
# Optional: How to download, decrypt, and merge Bitmovin video and audio
**WIP 8/29/2022 - Should be finished within a day or two**