VideoHelp Forum




+ Reply to Thread
Results 1 to 8 of 8
  1. I saw some people managed to download video from my5 site in this forum. But they did not explain how to do.
    https://forum.videohelp.com/threads/403158-My5-tv-DRM-any-way-around-it

    I tried to reproduce the way, but no luck.

    Be careful, you need a UK IP.
    for instane I would like to download the video
    https://www.channel5.com/show/the-house-across-the-street/season-1/301deb86-5f28-4a0e-...b-33c999deccaa

    I found this mpd
    mpd: https://akadash0.akamaized.net/cenc/C5410800002/C5410800002B/20221019215439/C5410800002B-tt.mpd


    From this I extracted the PSSH: I obtained
    Code:
    AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEJoE8HmYQEKGq5LmW+CIX5U=
    At first, is it the correct one?

    The tricky part looks like the post to licence server:
    Code:
    headers = {
        'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:105.0) Gecko/20100101 Firefox/105.0',
        'Accept': '*/*',
        'Accept-Language': 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3',
        # 'Accept-Encoding': 'gzip, deflate, br',
        'Origin': 'https://www.channel5.com',
        'DNT': '1',
        'Proxy-Authorization': 'Basic cDluOGl6YWctcmh3dXl6OTpjamJ5NTZ0dTc5',
        'Connection': 'keep-alive',
        'Referer': 'https://www.channel5.com/',
        'Sec-Fetch-Dest': 'empty',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Site': 'same-site',
        'Content-Type': 'application/x-www-form-urlencoded',
    }
    
    params = {
        'expiry': '1666448005',
        'tag': '31373161646661373932613937386265666662313066363539616131666539313237376532666432',
    }
    
    data = '\bï\n\xA0\b„\n\nÄ\b1ç螟()ë×zïðÙt\n„›ëˆ"Œ0‰\0È\0(íeô²}Si͝5!4ªDüÇb~}¥›çKQé:PÜ¯Ä§ME*KÆñô_¡A¬(?;öpùB›[VUíÒ‚×mU\bøI#Äç±Zô±¤>pÌÔ‰º0j3Ÿižg(ãh‰Ý™M)2—½xKÛ”u\\GQtA¦GÁS\0(üªHZ‘\nŒ0‰\0¦tÀá\b"øj(X᮳·„œûäâÿ®zlžs;ãìÆN\t5\'Î**è×¹¤\xA0wsß@™!W\\z¡ëúyî¢Nxuµi9´&j\fÍº²*P‡Ê\0°ïòHˆµÿ\0/ëëØ¬û«NƲC¦Ÿ~%Ü9x©Åéü\0óÄ,‡?o‡\0€”>¥a\b[³2ø¯Ì |åíÙdñ®H²ëloµÀ:Ðy\f,¼`ý¥cIØ{ËFÛ|‹<»_‰¯ìÑx¹Rm\nNßÚêߪhÊ0ŒÜ!£®®6r:’aëín@„-¯ÌÐxc¼áhçH>š7xa¡²=ï°aQë2gd-^±>\nœ´ÿA?*‰‰ñüó²#:k\b,b2ÙÑÛÚîSÕéÜé\bcÀ,ï¾_ÄãŠ?:åþòXBá\0RAr«Ü¦JTSN³Ë,µq\rÉr&l}„6%·–ÆËëE\fÞ]?¼ée4ñøèF?¨LÄ®Z\ný·Ú“ƒ‹Ìj«r·\n±\bR׼јPSF½<ÜJ“ä⮍ۀ‚"Ž0‚\n‚\0›W$g³vàÆ,¶$")ñãq6.Ò¹Ôi{¬}ßP:(é5M~vb{ÉH!]\\ §#\\ëßϲäzº&1’À‚\n»ñ\\l›ÔzT›>|&›\b“¹¡oÍ}”óqO”IiK8\\[Ef™õ¦ö¸+]úß¹þi\0©½áò$à·Œ|M]ê²ÅmÂaÞ˜¨ž¹s\'e—f³uMÈ£Tg÷Fú1¡ày]¼à’KškÖ^×¼j%(/gÀSUŒŒ—‚ŠF4’0«(~Â!ìí§¶ïˏCI&í\0^ÉUÐJsu‰Ôa?žW7}{}¤[З³éD$Èõ2ˆb:èÆÑ\0(üªH€¡`˜)`8›Ì70b¾÷˜>ଲÌ^»t9µ/5Œ±#b·ÆTMz¨Õô›¢ýy%Ò”ÖЉ˒lŠI€›¥ÎMuâ÷Xöµ~4ŸÃ*¢þE\rÏH“ż+ã£;\byö”°ŒŠ]Ù*ëF^“ꟴ¨Îˆã‡Bcó±a’ÁÑEš\\1”"¹¼6ûŒbEސêÜzRßæ*ÓûÈ:°VËPL®\nQ§ò©7„šOH\rœd–ù‹@ŠSPi“¥zi5šHª”âöªËâ¯MöûަłQþãì·è5î3Xë¯v~A–¢ò€ì¼C‘n…‰\r,¾Õ\tɍ_õ+Y^qOÃf\nñé‚ÀV~µÿ\bOìÝ:3L2[E7Ùו×*ƒªF\'ÛåòÅõõEî<†ß·ýÍÝßÎÖD¸Ï9ó“z¦€û!Õ60Ô§¿£\'~“8ñSâ…G)M&‚@N#TìoÈ©ïWR±P¯Í`NZÁ`Ó0±Le®¹\0¾“I¬VÞäD\narchitecture_namex86-64\n\fcompany_nameGoogle\n\nmodel_name\tChromeCDM\n\rplatform_nameLinux#\nwidevine_cdm_version4.10.2449.02\n\b\0\0 \0(:\n8\n"\bS±ÅU$B.²„[y€õ"\bchannel5*SDÙ®*¤†0ˆs‚±u6‚z– —ÒÊš08Ñ‘à›€fEÎÞß©]Wš½uG\'@³Š¶ü»žnžG_¹+‚規«B¤½¿O8á=ðú!Br—+ê—¶]1¬cló\n_ñ*^#ψô\tùÿf¢ÓÐo„¡ñƒòy%÷¥ùmOÅ{y¢ìl—+ÞµãØûÜY±?ªÓÖJókœ,žUÀGA‚sÝéJ\0\0\0\0\0\0\0\0sx\bÑìÚÖJ'
    I did not take in account datas


    but when I use WKS-kEYS
    [CODE]
    python3 l3.py

    PSSH: AAAAMnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABISEJoE8H mYQEKGq5LmW+CIX5U=
    License URL: https://cassie.channel5.com/api/v2/licences/widevine/208/C5410800002?expiry=1666448005&tag=3137316164666137 39326139373862656666623130663635396161316665393132 37376532666432
    Traceback (most recent call last):
    File "/home/testWKS-KEYS/l3.py", line 29, in <module>
    correct, keys = WV_Function(pssh, lic_url)
    File "/home/test/WKS-KEYS/l3.py", line 25, in WV_Function
    wvdecrypt.update_license(license_b64)
    File "/home/test/WKS-KEYS/pywidevine/L3/decrypt/wvdecryptcustom.py", line 61, in update_license
    self.cdm.provide_license(self.session, license_b64)
    File "/home/test/WKS-KEYS/pywidevine/L3/cdm/cdm.py", line 278, in provide_license
    session.session_key = oaep_cipher.decrypt(license.SessionKey)
    File "/usr/lib/python3/dist-packages/Cryptodome/Cipher/PKCS1_OAEP.py", line 167, in decrypt
    raise ValueError("Ciphertext with incorrect length.")
    ValueError: Ciphertext with incorrect length.
    [CODE]

    Any help would be welcome
    Last edited by joaopa0; 21st Oct 2022 at 10:13.
    Quote Quote  
  2. Member
    Join Date
    Oct 2022
    Location
    Behind You
    Search PM
    The keys for https://www.channel5.com/show/the-house-across-the-street/season-1/301deb86-5f28-4a0e-...b-33c999deccaa are...
    Code:
    53b10ec55524422eb2845b7980f52281:d4985d514a01821714eed9f384ac6eba
    90f4bf6424a52792fac5d9b2d89c6537:d4985d514a01821714eed9f384ac6eba
    You had the wrong PSSH and licence server/headers

    https://t.me/MagicianNulled feel free to hit me up on telegram and I will walk you through getting all the correct stuff so you can do it yourself
    Last edited by Magicians; 21st Oct 2022 at 09:54. Reason: .
    Quote Quote  
  3. I don't use telegram and similar softwares., sorry Anyway, I think it is better if you want to share your knowledge, to do it publicly.
    So anyone can profit from it.
    That's the raison d'être of fora.
    Quote Quote  
  4. Member
    Join Date
    Oct 2022
    Location
    Behind You
    Search PM
    I find it easier to help people one on one in dms on telegram or discord. That way people can screenshot their progress and I can help effectively by showing exactly what they need to look for.

    My dms are always open if you want my help
    I help all that ask.
    Quote Quote  
  5. Magicians mentioned that your headers are incorrect, but do you know if this part of the header is correct:

    HTML Code:
    'Content-Type': 'application/x-www-form-urlencoded'
    If so, could you look at the license request contents to see exactly what url encoded data was sent (for some reason I wouldn't be surprised to see the text 'CAQ=' in there somewhere)?
    Also, do you know if the response from the license request was in json format?

    I suspect that you might need to make changes to your l3.py file (after making a backup) to generate the right request and to correctly read the response.

    I'm new to this, so I could be heading in completety the wrong direction, but if changing the l3.py file is the right answer, then someone might already have those changes ready to give you.
    Last edited by bamboobali; 22nd Oct 2022 at 09:03.
    Quote Quote  
  6. Member
    Join Date
    Oct 2022
    Location
    Behind You
    Search PM
    Originally Posted by bamboobali View Post
    Magicians mentioned that your headers are incorrect, but do you know if this part of the header is correct:

    HTML Code:
    'Content-Type': 'application/x-www-form-urlencoded'
    If so, could you look at the license request contents to see exactly what url encoded data was sent (for some reason I wouldn't be surprised to see the text 'CAQ=' in there somewhere)?
    Also, do you know if the response from the license request was in json format?

    I suspect that you might need to make changes to your l3.py file (after making a backup) to generate the right request and to correctly read the response.

    I'm new to this, so I could be heading in completety the wrong direction, but if changing the l3.py file is the right answer, then someone might already have those changes ready to give you.
    PSSH:
    Code:
    AAAAQnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAACIIARIQU7EOxVUkQi6yhFt5gPUigRoIY2hhbm5lbDUqAlNE
    Licence:
    Code:
    https://cassie.channel5.com/api/v2/licences/widevine/208/C5410800002?expiry=1666535288&tag=66303566393737373664333734646432366534376364323339343763393132633837386631393130
    Headers:
    Code:
    Accept: "*/*"
    Accept-Encoding: gzip, deflate, br
    Accept-Language: en-US,en;q=0.9
    Connection: keep-alive
    Content-Length: "5373"
    Host: cassie.channel5.com
    Origin: https://www.channel5.com
    Referer: https://www.channel5.com/
    User-Agent: your useragent
    I help all that ask.
    Quote Quote  
  7. Member
    Join Date
    Feb 2022
    Location
    Search the forum first!
    Search PM
    I think I sussed on another thread you have both WKS-KEYS and l3.py as well as a pywidevine module installed by pip. They do not play together nicely. When you use l3.py it will see an import from pywidevine and think that is the pip module - and of course it cannot find anything because your pywidevine refers to a folder.
    Code:
    pip uninstall pywidevine
    will remove it.

    And https://forum.videohelp.com/threads/407216-Decryption-The-Dungeon-of-Despair deals with channel5 as an example. It is an easy one.
    Last edited by A_n_g_e_l_a; 22nd Oct 2022 at 11:19.
    Quote Quote  
  8. Thanks a lot @Magicians and Angela.
    I managed to fetch the key.

    Now, just need to know how to fetch the tag and expiry time programmatically ...

    expiry is quite easy: timestamp + 12H (I think....)
    Token is an other business, though
    Last edited by joaopa0; 22nd Oct 2022 at 19:31.
    Quote Quote  



Similar Threads

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