VideoHelp Forum



Support our site by donate $5 directly to us Thanks!!!

Try StreamFab Downloader and download streaming video from Netflix, Amazon!



+ Reply to Thread
Results 1 to 26 of 26
  1. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    I'm working on an idea to create a powershell script that will be able to extract keys using pssh and license_url. Maybe someone has some ideas or a part of the script how to implement it.
    Quote Quote  
  2. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by nadya86 View Post
    or a part of the script how to implement it.
    I think what you want is already done in some way by @angela's hell code, or @larley's widevinefetch. Both can be found in the stickies
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  3. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    If we look in more detail, a lot of people work with Python, but almost no one works with PowerShell, although it has no worse programming. Many scripts work on Python, which is for America and Western Europe (these programs are not suitable for my country), I started working on PowerShell, and developed a program on it with an interface for downloading movies and programs. Yes, a lot of people have started to delve into the work of Python scripts, but I can't convert it to what I need.
    Quote Quote  
  4. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    One way to overcome this... if your interface is in powershell already implemented, you can call existing python scripts from powershell. So you will end up with 2 components written in 2 different programming languages. So no need for converting. You can even pack the python script as an executable and use it on a fresh machine without python needing to be installed.

    https://stackoverflow.com/questions/54350820/running-a-python-script-via-powershell-script
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  5. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    Yes, you are right. It is fashionable to compile Python scripts and then use them in the program. But I will not succeed, because when I finish working on the PowerShell script, I plan to have only PowerShell scripts. Therefore, I want to translate everything from Python to PowerShell, and have one script, and not a bunch of different programs. I understand that I may be asking too much, but I thought maybe someone could explain in a nutshell how keys appear using pssh and licence_url, how it is implemented in a Python script in general. If I understood how it works, I would implement it in a couple of days of programming. If someone can help, I will be very grateful!
    Quote Quote  
  6. Originally Posted by nadya86 View Post
    but I thought maybe someone could explain in a nutshell how keys appear using pssh and licence_url, how it is implemented in a Python script in general. If I understood how it works, I would implement it in a couple of days of programming. If someone can help, I will be very grateful!
    You want all the answers without doing any research? That's not how it works for creating something new.

    Your previous answers about python being US/European make no sense. It really comes down to your personal preference for PowerShell scripting instead of Python scripting. Possibly because you learnt some PowerShell scripting in school and not Python? That's OK, but you have to recognize that programming languages all have their own strengths and weaknesses. Python is strong in handling the tasks to get keys from license servers. I'm not aware of any particular PowerShell strengths in this area although I know it can be done. Python is easily human readable and PowerShell really isn't. Python gives helpful messages on error. PowerShell - well yuk! I understand Python is not Cyrillic - but the World works on English.

    Re-inventing the wheel, seems like a lot of effort, on your part, for no real gain.

    Most of the answers you need about licenses and PSSH etc are buried in the 'Temple of Doom' stickies. Spend a week or two getting up to speed. The main principle of getting decryption-keys is a Diffie-Helman public/private key exchange between a client and a license server. The PSSH is an identifier for media and not a key nor a certificate. The client wraps the PSSH and its Content Decryption Module's Public Key in an authorization request message sent to the server. The server sends the the decryption keys back in an encrypted message. The client uses its CDM Private Key to decrypt the message to reveal the decryption keys. Is that 'nutshell' enough?

    P.S. No-one uses WKS-KEYS anymore - it's dead.
    Quote Quote  
  7. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    I just want to inform you that my language of communication is not English but Ukrainian, since I write in my own language, the translator translates into English. When I was still in school, I studied basic and pascal. I wrote my programs, or tried to write them using batch cmd bat commands. But I realized that it was not very convenient. That's why I started studying PowerShell, since there you can create various windows like "Windows". Yes, it has many shortcomings, but it's not critical for me. I tried Python, but I didn't really like something. And on the account of the fact that I'm not trying to convince anyone of anything or make them do something. I just asked for help, to understand the principle of the script that does this. If this method of key extraction is outdated, tell me how it can be implemented with a new method, how to understand the logic itself and transfer it from one programming language to another. I'm a simple technician repairing equipment.
    Quote Quote  
  8. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    I'd say you're on a fool's errand, but if you really want 100% to be on powershell, you'll have to translate python pywidevine into powershel script
    https://github.com/devine-dl/pywidevine

    You have the source code and also a demo script.
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  9. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    https://files.videohelp.com/u/307223/generate_key.ps1

    This is what I managed to do, maybe I'm wrong somewhere but I don't know where, maybe someone can tell me?
    Quote Quote  
  10. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    https://files.videohelp.com/u/307223/LicenseProtocol.cs - If anyone can compile this file into a LicenseProtocol.dll, I would be grateful.
    Quote Quote  
  11. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    I want to show you a couple of photos of the program. It's still in development, but there's already something there. Sorry if I may have stolen someone's idea with the windows and inscriptions
    Image
    [Attachment 85502 - Click to enlarge]
    Image
    [Attachment 85504 - Click to enlarge]

    Image
    [Attachment 85503 - Click to enlarge]
    Image
    [Attachment 85505 - Click to enlarge]
    Last edited by nadya86; 14th Feb 2025 at 11:44.
    Quote Quote  
  12. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    Originally Posted by nadya86 View Post
    https://files.videohelp.com/u/307223/LicenseProtocol.cs - If anyone can compile this file into a LicenseProtocol.dll, I would be grateful.
    Why not build it yourself? Use dotnet
    https://dotnet.microsoft.com/en-us/download

    Code:
    dotnet new classlib -n LicenseProtocol
    cd LicenseProtocol
    dotnet add package Google.Protobuf
    // make sure you copy LicenseProtocol.cs in the project folder
    dotnet publish -c Release
    Dlls can be found in project/bin/release/net/publish
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  13. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    Originally Posted by 2nHxWW6GkN1l916N3ayz8HQoi View Post
    Originally Posted by nadya86 View Post
    https://files.videohelp.com/u/307223/LicenseProtocol.cs - If anyone can compile this file into a LicenseProtocol.dll, I would be grateful.
    Why not build it yourself? Use dotnet
    https://dotnet.microsoft.com/en-us/download

    Code:
    dotnet new classlib -n LicenseProtocol
    cd LicenseProtocol
    dotnet add package Google.Protobuf
    // make sure you copy LicenseProtocol.cs in the project folder
    dotnet publish -c Release
    Dlls can be found in project/bin/release/net/publish
    Thanks for your help.
    Quote Quote  
  14. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    Hello. Who can provide an archive with all the necessary files where l3.py is used together with the .wvd file?
    Quote Quote  
  15. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    Maybe someone has a Python script that can extract config.json data from the file device_client_id
    Quote Quote  
  16. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    DEBUG:pywidevine.L3.cdm.cdm:init_data:
    DEBUG:pywidevine.L3.cdm.cdm:algorithm: AESCTR
    DEBUG:pywidevine.L3.cdm.cdm:key_id: "\004\023\020G{r\335\334\223\262\330=\262w\204 |"
    DEBUG:pywidevine.L3.cdm.cdm:provider: "verimatrixkyivski"
    DEBUG:pywidevine.L3.cdm.cdm:content_id: "r=500&s=878"
    DEBUG:pywidevine.L3.cdm.cdm:track_type_deprecated: "SD_HD"
    INFO:pywidevine.L3.cdm.cdm:session opened and init data parsed successfully
    DEBUG:pywidevine.L3.cdm.cdm:get_license_request(se ssion_id=b'A0DEEB60CBB290B30100000000000000')
    INFO:pywidevine.L3.cdm.cdm:getting license request
    DEBUG:pywidevine.L3.cdm.cdm:building license request
    DEBUG:pywidevine.L3.cdm.cdm:signing license request
    DEBUG:pywidevine.L3.cdm.cdm:license request:

    These are the logs of the l3.py script - can someone explain where this data comes from and is generated, I can't understand it at all?
    Last edited by nadya86; 21st Feb 2025 at 10:19.
    Quote Quote  
  17. Feels Good Man 2nHxWW6GkN1l916N3ayz8HQoi's Avatar
    Join Date
    Jan 2024
    Location
    Pepe Island
    Search Comp PM
    When you're posting a message on the forum, you have the option to "Disable smilies in text" to avoid messages looking like that
    --[----->+<]>.++++++++++++.---.--------.
    [*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*]
    Quote Quote  
  18. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    Originally Posted by 2nHxWW6GkN1l916N3ayz8HQoi View Post
    When you're posting a message on the forum, you have the option to "Disable smilies in text" to avoid messages looking like that
    Thank you, I didn't know.
    Quote Quote  
  19. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    Thank you. Thank you for helping with your silence!
    Quote Quote  
  20. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    Originally Posted by nadya86 View Post
    I want to show you a couple of photos of the program. It's still in development, but there's already something there. Sorry if I may have stolen someone's idea with the windows and inscriptions
    So I just happened to put a screen shot in one of my posts ages ago and you decided to recreate the entire thing almost word for word. Why ? You've got an idea, you use it and your brain to come up with something original. At the very least it would be nice to mention who you stole the idea from

    For what it's worth my entire app was developed using vb.net and it initiates hidden python scripts in the background. Don't know why you're so wrapped up in Powershell. All the hard scripting work is already done all over this forum.

    Image
    [Attachment 85691 - Click to enlarge]
    Quote Quote  
  21. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    Originally Posted by billybanana View Post
    Originally Posted by nadya86 View Post
    I want to show you a couple of photos of the program. It's still in development, but there's already something there. Sorry if I may have stolen someone's idea with the windows and inscriptions
    So I just happened to put a screen shot in one of my posts ages ago and you decided to recreate the entire thing almost word for word. Why ? You've got an idea, you use it and your brain to come up with something original. At the very least it would be nice to mention who you stole the idea from

    For what it's worth my entire app was developed using vb.net and it initiates hidden python scripts in the background. Don't know why you're so wrapped up in Powershell. All the hard scripting work is already done all over this forum.

    Image
    [Attachment 85691 - Click to enlarge]
    Yes, I took the idea with the main window from you. I admit it. Other windows are from other people, I did something of my own. They asked why everything is in PowerShell - because I wanted (now I understand that without logic how a request is created to send to the data server, I simply stopped the project process) to do everything so that I could transfer scripts and some files to another computer, and the whole project would work. But I realized that no one wants to explain even the simplest things, how pssh is parsed, what data is taken further in another step. What data is taken and how from the blob file and what is done to use the client which is in pem format further in the script. And many more different questions, nuances. There are more questions than answers that I never received. I can still write a lot, but everyone is rushing with this Python as if it were something so holy and all-powerful. Not all people can deal with it. I understand that for most people my idea is useless, because you can compile python scripts into an exe file and continue working. And not invent anything. But only a person who simply does not want to develop does this. If someone thinks that by revealing something, even some logic of creating a link to the coding server, then I just feel sorry...
    Quote Quote  
  22. Member
    Join Date
    Oct 2023
    Location
    Afghanistan
    Search PM
    I only came to this site a year ago. I knew nothing about scripting or Python or DRM for that matter. As others have mentioned in this thread, I urge to read these 3 stickied posts. Read them over and over if you wish until you have a basic understanding of the concept.

    https://forum.videohelp.com/threads/404994-Decryption-and-the-Temple-of-Doom
    https://forum.videohelp.com/threads/407216-Decryption-The-Dungeon-of-Despair
    https://forum.videohelp.com/threads/408557-Decryption-The-Last-Crusade

    Then grab other people's releases/scripts here and read them to understand what's going on.

    I knew nothing and now I write my own scripts and apps to go with them. Don't expect anyone to serve you up all the answers on a plate because they won't.

    By all means, ask questions about specific things you have written or tried first and you will find people will help you.
    Quote Quote  
  23. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    Originally Posted by billybanana View Post
    I only came to this site a year ago. I knew nothing about scripting or Python or DRM for that matter. As others have mentioned in this thread, I urge to read these 3 stickied posts. Read them over and over if you wish until you have a basic understanding of the concept.

    https://forum.videohelp.com/threads/404994-Decryption-and-the-Temple-of-Doom
    https://forum.videohelp.com/threads/407216-Decryption-The-Dungeon-of-Despair
    https://forum.videohelp.com/threads/408557-Decryption-The-Last-Crusade

    Then grab other people's releases/scripts here and read them to understand what's going on.

    I knew nothing and now I write my own scripts and apps to go with them. Don't expect anyone to serve you up all the answers on a plate because they won't.

    By all means, ask questions about specific things you have written or tried first and you will find people will help you.
    I sincerely thank you for your help, but there are many nuances that no one writes about. I hope I will find answers to my questions.

    I would also be personally grateful if you would provide only your vb files so that I could understand how your project is built, if you don't mind. Only the files, no python scripts needed.
    Last edited by nadya86; 23rd Feb 2025 at 11:34.
    Quote Quote  
  24. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    видалено
    Last edited by nadya86; 25th Feb 2025 at 09:01.
    Quote Quote  
  25. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    license_request.Msg.KeyControlNonce = random.randrange(1, 2**31) - This script l3.py generates a random number of 4 bytes, but what kind of data are the 2 bytes that follow it, please tell me?
    Quote Quote  
  26. Member
    Join Date
    Aug 2023
    Location
    Ukraine
    Search PM
    === Надсилаємо запит до сервера ===
    === Отримано відповідь від сервера ===
    6. Статус відповіді (Response Status): 200 OK
    7. Відповідь сервера збережено у файл: D:\Portable Programs\WEB-DL_Script_MPD_Download\BETA_TEST\DRM_TEMP\server_r esponse.bin
    Response Content: CAISmAgKVAogRjQ5NjhCRDc1MUMyQTBFMzAxMDAwMDAwMDAwMD AwMDASIEY0OTY4QkQ3NTFDMkEwRTMwMTAwMDAwMDAwMDAwMDAw GgAgASgA.... - I finally got the code 200, I know that I still have half the way to go to decrypt the data. I want to thank those who helped me and those who ignored me.
    Quote Quote  



Similar Threads

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