VideoHelp Forum


Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!


Try StreamFab Downloader and download streaming video from Youtube, Netflix, Amazon! Download free trial.


+ Reply to Thread
Results 1 to 16 of 16
Thread
  1. Hello,

    I have my own CDM but I am struggling with getting the (correct) pssh from vtm go.
    I think I have found the correct one for widevine and the license url.
    But I am also not sure how I use all of these to get the actual decryption keys.

    Any help would be greatly appreciated.
    Quote Quote  
  2. give us the link
    Quote Quote  
  3. Any link really, I don't want anyone just giving me the keys for a given link.
    I'd like to know how I can do it myself because there's lots I want to grab from there.
    Quote Quote  
  4. Originally Posted by Jerry911 View Post
    Any link really, I don't want anyone just giving me the keys for a given link.
    I'd like to know how I can do it myself because there's lots I want to grab from there.
    Providing a link is not that hard , at least to be a starting point from which you can get the keys for other links .

    I'm also new to this field and still there is a lot to learn and i hope i'm doing this right , Anyway i will try to explain this by example.

    Assuming your link is (hoping I'm using the correct site, you didn't provide a link! remember ?):

    https://vtm.be/vtmgo/afspelen/7c077294-8fc6-4dbd-ab69-d53f157b613a

    Now the first thing is to get the pssh , and fortunately there are 3 methods explained here :

    https://forum.videohelp.com/threads/404586-how-to-work-out-the-pssh-when-not-shown-in-...pd#post2647121

    NB: always use the search function in the forum , it will help you a lot .

    now after we got the pssh which is for this example:

    Code:
    AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEGdLspHXzD73jL8NJc/sjt8=
    Now we look for the lic url and of course you found it :
    Code:
    https://lic.drmtoday.com/license-proxy-widevine/cenc/
    But this lic url is not gonna work i think ! , the lic url that works is (take a look at the additional parameter, thanks to lomero for this info):
    Code:
    https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=true

    Now take the headers and place them in headers.py ( you need a fresh header for this to work ,don't use your old one ), run the script enter pssh and lic url and i think you will get the keys , for this example they are :

    Code:
    --key 8ddc29852e4c354bbb775a20989b3cbc:d2d328b5bb5e7a2b7ced4cbbaf65dacc
    --key 674bb291d7cc3ef78cbf0d25cfec8edf:f050b58c1a723f2da3b6a36a726cdb00
    --key 925c184417c53ec5bd048ca2d261c7f5:89885dd4fda5835ce737fa0824a2f168
    --key 4b19f3f67b6042668851af6a43933600:6541fbcdf4198bc389aa0336ea9ed880
    --key 62836fda7a5a3c559d257fdf8174c2b6:070280a460af5009f7cb389d23a5471b
    Image
    [Attachment 69556 - Click to enlarge]



    Regards
    Last edited by thej911; 3rd Mar 2023 at 15:39.
    Quote Quote  
  5. Originally Posted by thej911 View Post
    Providing a link is not that hard , at least to be a starting point from which you can get the keys for other links .

    I'm also new to this field and still there is a lot to learn and i hope i'm doing this right , Anyway i will try to explain this by example.

    Assuming your link is (hoping I'm using the correct site, you didn't provide a link! remember ?):

    https://vtm.be/vtmgo/afspelen/7c077294-8fc6-4dbd-ab69-d53f157b613a
    Thanks for the writeup, point taken about the url, but yes you guessed correctly.
    I also did spend some time searching the forum and trying out things before but I seem to be going backwards instead of making progress.
    At this point it is clear I still struggle with getting the correct pssh.

    I get this init data for the url you picked
    Code:
    AAAAjXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAG0IARIQjdwphS5MNUu7d1ogmJs8vBoIY2FzdGxhYnMiRGV5SmhjM05sZEVsa0lqb2lNREF6WTJaaE5EVXROMlEzTUMwME5tUmhMV0UwWlRBdE5XUTBNbUl3TVRGaVptSm1JbjA9MgdkZWZhdWx0
    What I make out from this post you linked is I have to convert it to hex, so I did.

    Image
    [Attachment 69568 - Click to enlarge]


    Copy from "8 digits before 7073" to the end. These are in HEX. Convert it to Base64 again. That's your PSSH.
    When I do this I end up with
    Code:
    AAAAjXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7Q==
    Which is not what you came up with
    Code:
    AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEGdLspHXzD73jL8NJc/sjt8=
    The license url that I found was also the one without the last addition.

    One last question I have is about the retrieving of the keys.
    Now take the headers and place them in headers.py ( you need a fresh header for this to work ,don't use your old one ), run the script enter pssh and lic url and i think you will get the keys , for this example they are :
    headers.py of which script exactly, I think getwvkeys?

    Anyhow massive thanks already for the pointers you gave me.
    Quote Quote  
  6. Originally Posted by Jerry911 View Post

    I get this init data for the url you picked
    Code:
    AAAAjXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAG0IARIQjdwphS5MNUu7d1ogmJs8vBoIY2FzdGxhYnMiRGV5SmhjM05sZEVsa0lqb2lNREF6WTJaaE5EVXROMlEzTUMwME5tUmhMV0UwWlRBdE5XUTBNbUl3TVRGaVptSm1JbjA9MgdkZWZhdWx0
    Which is a valid pssh and can also work and you don't have to do anything else .

    But if you are wondering how i get mine , here it is :

    go to : https://tools.axinom.com/generators/PsshBox

    put the "System ID" (which i think is static for Google Widevine ) then select Widevine PSSH Data , and then put the "Key IDs" and all of this can be found inside the .mpd file :
    Image
    [Attachment 69569 - Click to enlarge]


    then click on Generate and it will output the pssh:

    Image
    [Attachment 69570 - Click to enlarge]


    another method is to use a script that was posted by [ss]vegeta , you input the kid and a similar output will be generated (search the forum for this).

    Or simply use the pssh you found using eme logger (i think).

    Originally Posted by Jerry911 View Post

    headers.py of which script exactly, I think getwvkeys?
    I used "wks-keys" with my own CDM for this and it did the job .


    Note: this is a weird coincidence ,but both of our usernames contain 911 in them!

    Regards
    Last edited by thej911; 4th Mar 2023 at 05:21.
    Quote Quote  
  7. Copy as Curl

    Image
    [Attachment 69571 - Click to enlarge]


    Go to curlconverter.com to convert in Python.

    You have now all you need to fill headers.py

    For me, I need to modify this file and let only the auth token.

    Image
    [Attachment 69572 - Click to enlarge]


    Go to WKS-Keys

    Image
    [Attachment 69575 - Click to enlarge]
    Last edited by cedric8528; 4th Mar 2023 at 06:42.
    Quote Quote  
  8. Originally Posted by thej911 View Post
    Note: this is a weird coincidence ,but both of our usernames contain 911 in them!
    Weird indeed

    Thanks for all the help guys, I think I got everything now except for my wks-keys not playing along for some reason.
    Image
    [Attachment 69582 - Click to enlarge]



    EDIT:
    Not sure what went wrong there but...
    Image
    [Attachment 69583 - Click to enlarge]


    Thanks guys!
    Last edited by Jerry911; 4th Mar 2023 at 10:48.
    Quote Quote  
  9. try to use only the "x-dt-auth-token" in your headers.py

    And I think that the token expire quickly ...so you have to be fast
    Quote Quote  
  10. Originally Posted by cedric8528 View Post
    try to use only the "x-dt-auth-token" in your headers.py

    And I think that the token expire quickly ...so you have to be fast
    I was using only the auth-token so maybe it expired

    One more question perhaps: how do you know which key is for which video/audio file/quality?
    Do you just go by them one by one untill it decrypts?
    Last edited by Jerry911; 4th Mar 2023 at 11:18.
    Quote Quote  
  11. Yes , always use a fresh header.

    I'm Glad it worked for you mate .

    Regards
    Quote Quote  
  12. you can use all keys with mp4decrypt

    Code:
    mp4decrypt --key ...... --key ...... --key ...... --key ..... --key ...... video.mp4 output.mp4
    Quote Quote  
  13. Originally Posted by cedric8528 View Post
    you can use all keys with mp4decrypt

    Code:
    mp4decrypt --key ...... --key ...... --key ...... --key ..... --key ...... video.mp4 output.mp4
    Makes sense should've figured that out by reading the man.
    Quote Quote  
  14. thej911
    nice job on the somewhat thorough explanations.
    Quote Quote  
  15. I was also able to create an automated script. For the last step you can get the "x-dt-auth-token" header from the json reply that contains all the video info. Faster then converting the curl command
    Quote Quote  
  16. Search, Learn, Download! Karoolus's Avatar
    Join Date
    Oct 2022
    Location
    Belgium
    Search Comp PM
    ...
    Last edited by Karoolus; 4th Sep 2023 at 18:23. Reason: Removed incorrect information
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!