let me say at the very start that i'm not really interested in the keys to the specific video in this thread, i'd like to know what to actually do to get them because it would be a bit ridiculous to post a thread here every time i want to download something from this service
and i know i already opened one thread months ago about this service but it didn't really help because i didn't have a working cdm back then so i couldn't try it for myself
now i do so let me give whoever can help all the info i have so far:
EDIT: forgot to mention i'm using wks-keys
hrti.hr test account: username: samo.loi@yahoo.com, password: Evolution169
hrti doesn't really have links to their videos as far as i can tell, so you'll have to enter the video name into the search box in the upper right corner
video name: Plavi cvijet
mpd URL:
PSSH (2nd pssh parameter in the mpd file):Code:https://cdn1.oiv.hr/hrtvodorigin/cd14a933-9b0f-0110-a1b2-cc173b542e19.smil/manifest.mpd
License URL:Code:AAAAYXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEEIARIQ+O1Gd1tjPGuWqyI2hrlyuhoIY2FzdGxhYnMiGCtPMUdkMXRqUEd1V3F5STJocmx5dWc9PTIHZGVmYXVsdA==
headers.py (license file (cenc/ POST) copied as cURL (bash) and entered into curl converter):Code:https://lic.drmtoday.com/license-proxy-widevine/cenc/
in this case i had to remove the data parameter (also from the request (, data=data)) since l3.py gives me encoding errors about latin characters when running it, but even with a different video where i left everything as is and there were no encoding problems i got the same problem which is:Code:import requests headers = { 'Accept': '*/*', 'Accept-Language': 'en-US,en;q=0.9,hr;q=0.8', 'Connection': 'keep-alive', 'Origin': 'https://hrti.hrt.hr', 'Referer': 'https://hrti.hrt.hr/', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'cross-site', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36', 'dt-custom-data': 'eyJ1c2VySWQiOiIyMjI2NDkiLCJzZXNzaW9uSWQiOiJmSU5zSFVHQlRXd0E2T0t0VzMtVzJPN0lneTZ6TlJzY2l1aU1WWmk4XzhwTHh4LXdlRkFFdFFXR1FkandlRWZZNnVKWkJoZG4zbHJELUpJdnNORURidy4uIiwibWVyY2hhbnQiOiJhdmlpb24yIn0=', 'sec-ch-ua': '"Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows"', 'Content-Type': 'application/x-www-form-urlencoded', } data = '\bîY\nW\nA\bøíFw[c<k–«"6†¹rº\bcastlabs"+O1Gd1tjPGuWqyI2hrlyug==2default–´\nðŸeã³¼ô£i÷<1õ º¥î™08÷Å*ôB€\nlicense.widevine.com¹Ì†‹3:/w*ŒÀćÌ3‘Ÿ¤XÖšš¦ƒ:ˆ`ÈŵmϤÔ]d\xA0c\'NYV`pQÄŠ©^iÂßr|GDôÍp£¹VŽë1ÿs¢ÚÛ#»ÊÜ×·.²©\tÁâ&Ü\xA0ƒ“¿Ì¶³?ˆÌØuuÓ"⡈Ûz|ñ.ú²‹©\tTƵ\rs?e!ΘÀÎKûö¶iHá»$u=@F¹&ÒýíGn¹$ÇÝ%°0›æ&ˆ\xA0šý=íé=´$¡±¦ƒe\0ÒçL`‰$×yDø|;¤Ëʧ›Ì{hE@“=Óos£<‹wQEÀÒh\xA0"¡€çO¦65#mßä#˜‘6\b…-\'v\0ŠHL*BÃ)"K+GöÖ:¸–â¼\ný$fó¡ÊŸ²¯Ÿì˜Ú£…%É?Ý+¼o7¢žf¬¦õÐyç6šaˆ½»ìiƒÂ¶ë^Ï÷gdwUóó–ýs«³meÇ\n\tstœ\t^âdGK™d\rùÑÎlãq¦™¬ª:™^XXP±gÀÅCÜ[U«ž}£TKs§×¬MÍ¢ô%0cV˜<Y5]’«þFo‘½Hã;J"ƒžÈpU6ÓA,:Ý´-Ñ‹H˜ñX¤H¤Âª.7î|z¹»ü`"Ö1P&йÄTÄ`o‚zlÌâf×BÀ:àŠ]²ç&¼Œ…Ä9ì=4pŸÁX¯g,CÆÀ0q4ˆ‰®|tøo.‘&X/\\wîm9_¦‰ŒK¿›ÃAÒ£ÚÕ%ïèbÉ5nh\t?Åx¦-Im—”A¾óÂ?\n»3\0g$׎VKÉuá$RX];HÎ¥\'EìA*K‡œ•Ô\r¹‡v"RÒ:—\'ÿBËýƒÄ…>ÿoÐî\\¯˜èMèîì½ÖtÑ.r¹ÏÞÀ›E8èÕ!+fé×Ù‹—Ì@\\‰©!ËÈ,=_*.ˆrûU4\xA0bÂn¿\rUVã§b(ÌTÖò\tÒÞ¨/áºmíaR¤9˜3KN»/æAÁs6uX³ˆy¨¯z¢«ò7¸rš/•¿³zKÑã½.&/\nBØ)[N>Kî’\tÒ\fã7‘\xA0ÚieÜ5€ij+ê¥zi§$.Êȵ¥±«!Ƈq3®ÊV9hÊnËWnC¢b6ˆpRÕRyÿ+*\t”êýõØÊ.›zšåŒâ\foméèÕ±D·Í¹@Ž9æÀÇŠp«nëè¯×]b ³Æ¼ÐlÔ¾J¯e9nmK|È¥çœ5ê,í=öÀFï´ƒØ\r—†,³AœäBå`ƒy)é1\\kOÝ\';ZS?lÄ™ÛéPòâ£lÃ{“w¦üJÈDH~3¶)knÿù´8¹ÏUÌ\r¤.\n*Ê\\ë;Á$(»MÒáycZØ‹)Ý*„ã˜Id"á,#Q“ó”(îJc\xA0oëz*²ÖrG€â2F‰9Lwv³_N-÷ÐþF4•5‡„2H3ÀW¬äÑ@(2žÎ¸”sø¦ÜÍ\rQ#^\tÍ›íj²«2\bZñ/©øEíyšó»Ãê)¢\0úYäfW*\n>0•K…·MÆ[™†¨…\tdãI\täÉ´ÄŠÜ:¯âR¦kñHÃNYÝ<¾ÎþâÓxYT¯Š`¼¸|FHsÑïevÛÎÍó–¨wé?Gмš+U5\f÷2«Ýù\tuʯ£«Î5Qø>øó¿˜Ë€6\0B$î_‡4ž1:´D*ÞúÄ–\tgê¬zñüŒnµ 0¤B“ý¶ËL%ô"ž%xº\fGfûÕl“¹ÿ¤Ã•LyeT;ü¨ihÉQ¹£kÔ³\'C~i\0\rŽÊ(nåe¿E1zFÁl2÷õ\tF\bo5îùˆm²%ÐH¥×t1s¤^™\fÿʱ±Z\t=.ÌLç1؆hŽöÂ܆‹ðѺïRÀæÒȘ…í-èÂ1¼»7»P\\˸¼\f1h¦Ü»^´“R¤vÿC*œã1kæ½ÅÃÝŠ!årv•.`Ű…ЗìžEý4*P¢Ä\xA0_ªBN"´ãB½|ÿ[@…‹ÇyžR2mÛ!Ýd,ô·M%\'Í9|\nF±5þ³-FpÌê¬\0iV2\boH›â¦¦§ù{ûùÙ톊G=\0ŠÈ“¾Z¡88pÕ9¥‰\n„qR¢¢7™ßæY €LNž;Rgà“N›,õž™Àšë"æÉ^ÌX§Æ8Å™6×äNB^?>ˆBò³=ßz;qŠWe¢Öí²¥H&}8è‰I³6ñŸ†â„Ú/«ääE²1«*mòÌê*Ïe3®Õ€,¯2Ôm§‚à©}‡y³9ÿ°ô&Y¯÷ÓìT4\rG?`ÊüEÍùô8ùø}›*–2š@k̯šëß2ȳäÍA«A¿%òÙ.Py¯èHä8Z<¿/M‡_ñîk‚¿pã×Ð>èGŸ1®×*æzcçþ\t¶¦üº1Œãs‡s•õR¶¨|8"€ÇvÛVîñÉv¥\r%ϵŽÑ`w³¾upgä±0’i¸2i±×]½5=óÈáÓ¿üŽð*h͸]ûã’’4º¢–š‚!ÌU3tH3±ˆ]ecÔ¼‰iT°BRD\'‰ÀóÊö±œ÷·Ëÿ&æ±™DÁŒ6ÄÅŒ>“?g{Ûò¤§FNSlÔø×\n©KO¢›Öœv³%?ñ¨¤óîÀ7LxZH¤|×a?QL¤|bNrÅv/¦h‘[!$Þ8“ë{Û…‡3Ç8‘D!óIlkIŒ ÿ‚5ÙÁ\xA0k–‹¬{@Î½Š¤ˆŠ„xd2Uá ^”,{ÝÈuCrTÌ\'\n7‘ß*ØR~BD軆q`PÕkUã—¶æ6OI€1tnŸJ¡|á,ð¢\b¢¥VRÍ‘ÝPÛ*~vèõûi‡Ú¿4kÌvgtÈÛ”|{‡÷YdGaó"ŸŽÕc\n›ùT4wxRZЏ\xA0eO¢V„mÐmK‹Ä³MYý{óDR¼>ÅsÚ¼|´ùYK´†¬_€úqöÆ©â!†5ËÞÆ9¶gX1Í8LÍì¦ÝwÖÒ´§Úúæ0³YØ‚¸v8~îiC6þ¦r#1[—½J1\bÍÁA‰@šKiHì2Ï¥©‚5I\f\nÉÁ—41›Ny$AÓ½#Œ÷5Èo±GàCGŒf›-š Øß–Ošq°—]o¬Fl®û¬\fúS§Ä@°¢¶ü#lÛlÀUg32ÄëDz¥ˆŒMYêIîƒ]|9P2Jœw\b¤xîÅFÓ0°ÍûÛ©Ú‘€u`£`Yð$üÿ¼Í×Íó‘lö*#ý3i¯¿ÓN™}Ø\\±sÿŠ+Ùúa›fqðõ"ÔsÌ’tR§÷\t\\BU¿–èò“¤ÑñR¼þxš\'ð-‘îÏ´ˆ<\\Œ–;…w‡„² š¯ïsá^\fÉäãJÕÁÒïÀ4î&ze®Ucb}UÑâÀ^-.táK›Ãƒó\níŸ »|\r±©¹\0^\0¡5ðÆ\tÜ[Ô\xA0™,}ãz:*«·3]^;*¡y•£ˆþzÀyÜB•à*²øþŠ‚€"ËZL€æ{ ÄøÚVãm˜ÐsÓy„Ü×)1«¦$)ÚÛ)¥»ðÖ©ÒÔ3ö¢VøžŒ€ÌV>¦ÝSð@êœy`I³«\'\fóçxÖÙ©Tù\\Œjå\f_«ð¼v§še"÷ɿ΃ÇT\bêI©ÚU{»…AÙ`£ó:ŒÌFþÙ3X¸œsc42—ÀŒcö/Ðqƒé“’6ðB,?\xA0ÕŽÑí1¸§‹Ak·X™QBÅ—ßá–.bi÷¯3¨ÄÞ¶ ;MÐ<†Ä89”£Ã?þà e¹v‘Wë`8îÎ ÃÑôŽ{\rȧSéGùfP°\n}bšêñ5Â×ãiy„¹,‘¬ºÛéÜÛÅ8§mœ"…jøèZÊb•9ÖØ3Qo-E>%Ù°2ž\féïsʨ+ß3÷ì¦IT°ÄŸ%¢[4dÙ,Tˆ‘*°Tú”òÿ(M½Q»+«>Ð\fõ®£ˆ\nA/XZ4¸£¯ÇsjÍ»[d—DHå·ï#åVÏòr¤k7uÄV›\\áV3ÕíÍâñy\fUný¡PôäÑ(ÔáôŠÑpÈxþ«ky ´g€&eZñÿPºß|ÆÅ<æ?§ç3&j¢\nÃV*q‚#\0´”\nô÷ÏÅ–\xA0ò8š\bºžsA‚½À‹½ao×Tñƒ±˜¿4åhÕó:±>ñ\\xCqNúäcçGFû}ë²t=æáË«äYA4{HT\tµß-¤œÍ\fÂ.v§É-KªX\nøû’Þ¿ï6B)ù*U´³"íŸÏáH…Ù$‹zTõ·d^}ÐÁæì#Þ\\õ\f\'Möñ™aÏljwì<û\nX\0\t<Öèýä¯eIÒx!³\nãÏyí± ‡‡FÎh*ïÚz»¾l7&¤Læy\tZ)¤3\xA0y¬÷R~¼äÄbž°û„+l,µ”hõ*iO(ü£\'qŠ×‰wæ/»¯\xA0j¯Ì‘3M–\b?‘‚õ/r©h“Çͼºâ~[ä_\tŽIz›Ro"ÝÎ "Ȧñ–0\bÑ\fˆÇTAô›@¶Û`\tÛ\b`÷j|)W¦¸,êé^ÑÓ™ó‡òUDØÌ+Üîq;È~2Ö¶ÁtmËUž}¸˜·Í…4¨å\'üäTP²iÃ$ÓO/dµ.\tøl2ä‘οlEjŽ®_JxNhÖFwþEظšîWé°Ï¡)ÞWIUe@ÞÔEÇSýï*:åcvÚ\n騆+«›ëEprA–é\tëÓ/l:üÇ%ßb?Zyü¸wÖIƒ‹\nZÕ-C÷¹½ð)Ž¯Ê™)™5”ðu›êw\\:´¤"\xA0WHÈ롤gš3b)2™*€pé€ä>Úo¨@v\rµ‰?ãÜ™\0½±ˆÝrȬU_`¨)VÍ’§&òQÅÄ)ïC ñ½Íæ*ŠØú…Â(o¸Íçš%ûÄzÿ˜¢itKÏ‘ôFçL·ÿ]Wâxˆð¡{ϱàoɸ;VÓØpOUA„Êt8ÀëæÈ9¢*t8Ó‚ŽfËÞÑXÛà†Sêàs¥&?ÊGGÞºµŸ‡Dò=ÅíöƒÏË‘…´ZIŽžUý`3-~•~¼-8ì0½\'#j¯PÕ‚4‚íí@^¯`‚NHkAIn\tA$/Ú±½ÇÆ…i³Ž÷]L~Íð{,u´€…ZK®ˆ»„\nùh®h;[R^\0€ÙHÒ_þ>Æ{ª0,Õs…Ä}*¾¿2véí«ž[…ܼ‹·\fø£v‚/"•–1Á¸Î·)dYÞ…œéaÁ7|×%_‡»…~(ÃKZL3FÁýHÆ·í…pÞšD̪ëíÂÞý¡’b¹N§J\0\0\0\0\0\0\0\0N‹b÷+E÷â' response = requests.post('https://lic.drmtoday.com/license-proxy-widevine/cenc/', headers=headers, data=data)
just to test if the cdm is dead immediately after this i tried downloading and decrypting a tv5mondeplus video and it worked fineCode:D:\Utilities\WKS-KEYS\pwdv\L3\cdm\cdm.py:260: RuntimeWarning: Unexpected end-group tag: Not all data was converted license.ParseFromString(base64.b64decode(license_b64)) Traceback (most recent call last): File "D:\Utilities\WKS-KEYS\l3.py", line 25, in <module> correct, keys = WV_Function(pssh, lic_url) File "D:\Utilities\WKS-KEYS\l3.py", line 21, in WV_Function wvdecrypt.update_license(license_b64) File "D:\Utilities\WKS-KEYS\pwdv\L3\decrypt\wvdecryptcustom.py", line 58, in update_license self.cdm.provide_license(self.session, license_b64) File "D:\Utilities\WKS-KEYS\pwdv\L3\cdm\cdm.py", line 275, in provide_license session.session_key = oaep_cipher.decrypt(license.SessionKey) File "C:\Users\User123\AppData\Roaming\Python\Python310\site-packages\Cryptodome\Cipher\PKCS1_OAEP.py", line 167, in decrypt raise ValueError("Ciphertext with incorrect length.") ValueError: Ciphertext with incorrect length.
pwdv in the filepaths is pywidevine, i had to rename it because there were errors popping up, and now it works fine, at least with tv5mondeplus
any help?
+ Reply to Thread
Results 1 to 5 of 5
-
Last edited by ampersand; 3rd Oct 2022 at 21:25.
-
have you tried the information suggested in other threads?
https://forum.videohelp.com/threads/404994-Decryption-and-the-Temple-of-Doom/page2#post2658694
the standard l3.py works for hrti if you use the information in the linked post (especially the license url)
also note: the dt-custom-data token is only valid for about 60 secondsLast edited by ElCap; 3rd Oct 2022 at 22:46.
-
got the keys, finally
for whoever is also looking for a solution:
license should be:
Code:https://lic.drmtoday.com/license-proxy-widevine/cenc/?specConform=True
Code:headers = {'dt-custom-data': 'custom_data_string'}
and this line:
Code:widevine_license = requests.post(url=license, data=wvdecrypt.get_challenge(), headers=headers.headers)
Code:widevine_license = requests.post(url=license, data=wvdecrypt.get_challenge(), headers=headers)
-
Maybe this line in your headers.py
response = requests.post('https://lic.drmtoday.com/license-proxy-widevine/cenc/', headers=headers, data=data)
was just too much?
Similar Threads
-
WKS-KEYS help
By Gruchemuche in forum Video Streaming DownloadingReplies: 1Last Post: 2nd Oct 2022, 08:55 -
problem #2 - getting keys for hrti.hr videos
By ampersand in forum Video Streaming DownloadingReplies: 12Last Post: 16th Aug 2022, 07:39 -
How to get the keys
By 10362227 in forum Video Streaming DownloadingReplies: 2Last Post: 18th Jun 2022, 20:25 -
Can anyone help with getting keys?
By fisfisa in forum Video Streaming DownloadingReplies: 8Last Post: 1st Mar 2022, 00:33 -
Problem with [MPD] (mpeg dash manifest) - HRTi
By SamoMalo404 in forum Video Streaming DownloadingReplies: 0Last Post: 20th Jan 2018, 23:02