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.
Support our site by donate $5 directly to us Thanks!!!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
Try StreamFab Downloader and download streaming video from Netflix, Amazon!
+ Reply to Thread
Results 1 to 26 of 26
-
-
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
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.
-
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*] -
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!
-
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. -
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.
-
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*] -
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? -
https://files.videohelp.com/u/307223/LicenseProtocol.cs - If anyone can compile this file into a LicenseProtocol.dll, I would be grateful.
-
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
[Attachment 85502 - Click to enlarge]
[Attachment 85504 - Click to enlarge]
[Attachment 85503 - Click to enlarge]
[Attachment 85505 - Click to enlarge]Last edited by nadya86; 14th Feb 2025 at 11:44.
-
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
--[----->+<]>.++++++++++++.---.--------.
[*drm mass downloader: widefrog*]~~~~~~~~~~~[*how to make your own mass downloader: guide*] -
Hello. Who can provide an archive with all the necessary files where l3.py is used together with the .wvd file?
-
Maybe someone has a Python script that can extract config.json data from the file device_client_id
-
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.
-
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*] -
-
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.
[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...
-
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.
-
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?
-
=== Надсилаємо запит до сервера ===
=== Отримано відповідь від сервера ===
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.
Similar Threads
-
pywidevine wks-key
By aletaladro in forum Video Streaming DownloadingReplies: 1Last Post: 11th Jul 2024, 14:32 -
I don't get key with wks-key.
By Brift_Bv in forum Video Streaming DownloadingReplies: 34Last Post: 18th Nov 2023, 03:35 -
About WKS-KEY
By Nethsara Devinda in forum Video Streaming DownloadingReplies: 1Last Post: 29th Sep 2023, 03:50 -
Setting wks Key - With CDM
By myemailjobayer in forum Video Streaming DownloadingReplies: 0Last Post: 23rd Jun 2023, 10:40 -
WKS-KEY does not get decryption key
By HORDTHIONZAC in forum Video Streaming DownloadingReplies: 8Last Post: 17th Jun 2023, 05:46